Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DVG Ablaufsteuerung

Ähnliche Präsentationen


Präsentation zum Thema: "DVG Ablaufsteuerung"—  Präsentation transkript:

1 DVG1 - 06 - Ablaufsteuerung

2 DVG1 - 06 - Ablaufsteuerung
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 DVG Ablaufsteuerung

3 DVG1 - 06 - Ablaufsteuerung
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} DVG Ablaufsteuerung

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

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

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

7 DVG1 - 06 - Ablaufsteuerung
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 DVG Ablaufsteuerung

8 DVG1 - 06 - Ablaufsteuerung
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 DVG Ablaufsteuerung

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

10 DVG1 - 06 - Ablaufsteuerung
//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"); } DVG Ablaufsteuerung

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

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

13 DVG1 - 06 - Ablaufsteuerung
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. DVG Ablaufsteuerung

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

15 DVG1 - 06 - Ablaufsteuerung
// 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; } DVG Ablaufsteuerung

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

17 DVG1 - 06 - Ablaufsteuerung
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. DVG Ablaufsteuerung

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

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

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

21 DVG1 - 06 - Ablaufsteuerung
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. DVG Ablaufsteuerung

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

23 DVG1 - 06 - Ablaufsteuerung
// 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; } DVG Ablaufsteuerung


Herunterladen ppt "DVG Ablaufsteuerung"

Ähnliche Präsentationen


Google-Anzeigen