Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DVG1 - 06 - Ablaufsteuerung1 Ablaufsteuerung. DVG1 - 06 - Ablaufsteuerung 2 if... else... if ( boolausdr ) {... // if-Block } else {... // else-Block.

Ähnliche Präsentationen


Präsentation zum Thema: "DVG1 - 06 - Ablaufsteuerung1 Ablaufsteuerung. DVG1 - 06 - Ablaufsteuerung 2 if... else... if ( boolausdr ) {... // if-Block } else {... // else-Block."—  Präsentation transkript:

1 DVG Ablaufsteuerung1 Ablaufsteuerung

2 DVG Ablaufsteuerung 2 if... else... if ( boolausdr ) {... // if-Block } else {... // else-Block } boolausdr wird ausgewertet boolausdr == true, dann abarbeiten des if-Blocks boolausdr == false, dann abarbeiten des else-Blocks weiterarbeiten nach dem else-Block

3 DVG Ablaufsteuerung 3 die else -Anweisung kann entfallen die else -Anweisung gehört immer zu der innersten if -Anweisung, die noch keine else -Anweisung besitzt: if (b1) if (b2) {if2-Block} else {else1-Block} korrekt sind folgende Varianten: if (b1) if (b2) {if2-Block} else; else {else1-Block} if (b1) { if (b2) {if2-Block} } else {else1-Block}

4 DVG Ablaufsteuerung 4 if-Block true else-Block false boolausdr

5 DVG Ablaufsteuerung 5 // Berechnung des Maximums max von x und y if ( x>y ) { max=x; } else { max=y; }

6 DVG Ablaufsteuerung 6 // Berechnung des Maximums max von x und y if ( x>y ) max=x; else max=y; // Berechnung des Maximums max von x und y max=(x>y)?x:y; // Berechnung des Maximums max von x und y if (x>(max=y)) max=x;

7 DVG Ablaufsteuerung 7 switch...case... label: switch (int-ausdr) { case c1 :... // block1 case c2 :... // block2... case cN :... // blockN default :... // default-block } int-ausdr berechnen wenn int-ausdr==c1 block1 wenn int-ausdr==c2 block2 wenn int-ausdr==cN blockN sonst default-block

8 DVG Ablaufsteuerung 8 default- Klausel kann fehlen, kann auch zwischen case- Klauseln stehen, darf höchstens einmal auftreten jeder Wert in einer case -Klausel darf nur einmal auftreten break -Anweisung beendet den ausgeführten Block und springt an die Anweisung nach dem switch -Block break label -Anweisung beendet den ausgeführten Block und springt an die Anweisung nach dem switch -Block der mit label: markiert ist Reihenfolge der case -Klauseln und der default- Klausel ist wesentlich für die Funktion

9 DVG Ablaufsteuerung 9 ausdruck block1 break c1 block2 break c2 blockN break cN default- block sonst

10 DVG Ablaufsteuerung 10 //Berechnung der Tage eines Monats unter //Beruecksichtigung der Schaltjahresregeln int monat, jahr, tage; switch (monat) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: tage=31; break; case 4: case 6: case 9: case 11: tage=30; break; case 2: tage=28; if ( ( jahr%4 == 0) && ( jahr%100 != 0 | jahr%400 == 0) ) tage++; break; default : System.out.println("Falsche Monatsangabe"); }

11 DVG Ablaufsteuerung 11 label1: switch (a1) { case c11: case c1N: label2: switch (a2) { case c21:... ; break;... case c2M:... ; break label1;... } }

12 DVG Ablaufsteuerung 12 while label: while (boolausdr) {... break label;... continue label;... // while-block }

13 DVG Ablaufsteuerung 13 Der boolausdruck wird vor Ausführung des while -Blockes berechnet. Ist boolausdr==true, wird der while -Block ausgeführt und anschließend mit der Berechnung von boolausdr fortgesetzt. Der while -Zyklus kann durch eine break -Anweisung verlassen werden. Die continue -Anweisung springt zum Ende des while -Blockes. Bei geschachtelten Zyklen wird mit der Anweisung break label; der mit label markierte Zyklus verlassen. continue label springt zum Ende des mit label markierten Blockes.

14 DVG Ablaufsteuerung 14 true while-Block continue break boolausdr false

15 DVG Ablaufsteuerung 15 // Berechnung der groessten Zahl n fuer die // n! < eine vorgegebene Zahl n0 ist. int n0 = ; int n = 1, nf = 1; while (nf*(n+1) < n0) { nf *= ++n; // n=n+1; nf=n*nf; }

16 DVG Ablaufsteuerung 16 do... while label: do {... break label;... continue label;... // while-block } while (boolausdr)

17 DVG Ablaufsteuerung 17 Zuerst wird der while -Block ausgeführt. Anschließend wird boolausdr berechnet. Ist boolausdr==true, wird der while -Block ausgeführt und anschließend mit der Berechnung von boolausdr fortgesetzt. Der while -Zyklus kann durch eine break -Anweisung verlassen werden. Die continue -Anweisung springt zum Ende des while -Blockes, d.h. es wird mit der Berechnung von boolausdruck fortgesetzt. Bei geschachtelten Zyklen wird mit der Anweisung break label; der mit label markierte Zyklus verlassen. continue label springt zum Ende des mit label markierten Blockes.

18 DVG Ablaufsteuerung 18 while-Block continue break boolausdr true false

19 DVG Ablaufsteuerung 19 // Einlesen einer Zahl do { read (Zahl); } while (Eingabe ungueltig);

20 DVG Ablaufsteuerung 20 for label: for (ausdr1 ; boolausdr2 ; ausdr3 ) {...//for-Block } ist äquivalent zu: { ausdr1; while (boolausdr2) {...//for-Block ausdr3; } }

21 DVG Ablaufsteuerung 21 ausdr1 kann Variablen-Deklarationen enthalten. Diese gelten im ganzen for -Block und sind außerhalb wieder unbekannt. Die for -Schleife wird solange durchlaufen, wie boolausdr2==true gilt. Mit der continue -Anweisung wird an das Ende des for -Blockes gesprungen und mit der Berechnung von ausdr3 fortgesetzt. Die break -Anweisung verzweigt zur ersten Anweisung nach der for -Schleife. Die break label; bzw. continue label; Anweisungen verzweigen zu den entsprechenden Stellen in der mit label markierten for -Schleife.

22 DVG Ablaufsteuerung 22 ausdr1 boolausdr2 ausdr3 for-Block continue break true false

23 DVG Ablaufsteuerung 23 // Berechnung von Zufallszahlen 1, 2,... 6 // Bestimmung der Anzahlen int ran; int i1=0, i2=0, i3=0, i4=0, i5=0, i6=0; int imax=10000; for (int i=1; i<=imax; i++) { ran=(int)(Math.random()* ); switch (ran) { case 1: i1++; break; case 2: i2++; break; case 3: i3++; break; case 4: i4++; break; case 5: i5++; break; case 6: i6++; break; } }


Herunterladen ppt "DVG1 - 06 - Ablaufsteuerung1 Ablaufsteuerung. DVG1 - 06 - Ablaufsteuerung 2 if... else... if ( boolausdr ) {... // if-Block } else {... // else-Block."

Ähnliche Präsentationen


Google-Anzeigen