vergleich von schleifen: wie kann man eine schleife durch eine andere darstellen ?
TRANSCRIPT
![Page 1: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/1.jpg)
Vergleich von Schleifen:
Wie kann man eine Schleife durch eine andere darstellen ?
![Page 2: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/2.jpg)
Aufgabe:Wie stellt man eine
for-Schleife durch eine
while-Schleife dar ?
![Page 3: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/3.jpg)
B
f
w
A
A1
B
A
A3
f
w
while-Schleife
for-Schleife
![Page 4: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/4.jpg)
A1;while(B){ A; A3;}
for(A1;B;A3){ A;}
![Page 5: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/5.jpg)
Beispiel:
![Page 6: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/6.jpg)
Annahme:Bei allen folgenden Beispiel-Programmen wird stillschweigend vorausgesetzt, daß über Tastatur für die Variablen z1 und z2 ganze Zahlen eingegeben wurden:scanf("%d" ,&z1);scanf("%d" ,&z2);
![Page 7: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/7.jpg)
for(i=z1;i<=z2;i=i+1){ sum = sum+i;}
sum = 0;
}
sum = 0;
BA1
A3
AA1
B
AA3
Was berechnet dieses Programm ?
Die Summe aller ganzen Zahlen zwischen z1 und z2, wobei z1<=z2 sein muß.
i = z1;while(i<=z2){sum = sum+i;i = i+1;
![Page 8: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/8.jpg)
Aufgabe:Wie stellt man eine
while-Schleife durch eine
for-Schleife dar ?
![Page 9: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/9.jpg)
while(B){ A;}
for(;B;){ A;}
Im Schleifenkopf der for-Anweisung müssen 3 Ausdrücke vorkommen, die
durch zwei Semikolon getrennt werden. Da links vom 1. Semikolon und rechts vom 2. Semikolon nichts steht, muss dies jeweils der leere Ausdruck sein.
![Page 10: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/10.jpg)
Beispiel:
![Page 11: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/11.jpg)
while(i<=z2){ sum = sum+i; i = i+1;} }
sum = 0;i = z1;
sum = 0;i = z1;
B B
A A
for(;i<=z2;){sum = sum+i;i = i+1;
![Page 12: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/12.jpg)
Aufgabe:Wie stellt man eine do...while –Schleife
durch eine while-Schleife
dar ?
![Page 13: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/13.jpg)
B
f
w
A
do...while-Schleife
Bf
w
A
Angenommen, das Programm wurde bis an diesen Punkt abgearbeitet. Was fällt dann auf ?
Das Programm ist wieder in einer while-Schleife !
![Page 14: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/14.jpg)
A;while(B){ A;}
do{ A;}while(B);
![Page 15: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/15.jpg)
Beispiel:
![Page 16: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/16.jpg)
do{ sum = sum+i; i = i+1;}while(i<=z2);
sum = 0;i = z1;
}
sum = 0;i = z1;
BA
A B
A
sum = sum+i;i = i+1;
sum = sum+i;i = i+1;
while(i<=z2){
![Page 17: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/17.jpg)
Aufgabe:Wie stellt man eine
while-Schleife durch eine
do...while –Schleife dar ?
![Page 18: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/18.jpg)
B
f
w
A
Bf
w
A
Angenommen, das Programm wurde bis an diesen Punkt abgearbeitet. Was fällt dann auf ?
do...while-Schleife
while-Schleife
Das Programm ist wieder in einer
do...while-Schleife !
![Page 19: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/19.jpg)
while(B){ A;}
if(B){ do{ A; }while(B);}
![Page 20: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/20.jpg)
Beispiel:
![Page 21: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/21.jpg)
while(i<=z2){ sum = sum+i; i = i+1;}
sum = 0;i = z1;
}
sum = 0;i = z1;
B
A
sum = sum+i;i = i+1;
if(i<=z2){
}while(i<=z2);
do{
B
A B
![Page 22: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/22.jpg)
Aufgabe:Geben Sie eine weitere Möglichkeit an, eine
while-Schleife durch eine
do...while –Schleife darzustellen.
![Page 23: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/23.jpg)
while(B){ A;}
do{ if(B){ A; }}while(B);
Testen Sie dies, indem sie folgende Voraussetzungen machen:1) B ist genau 0 Mal richtig.2) B ist genau 1 Mal richtig.3) B ist genau 2 Mal richtig.4) B ist genau 3 Mal richtig....
![Page 24: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/24.jpg)
Aufgabe:Wie stellt man eine
for-Schleife durch eine
do...while –Schleife dar, bzw. eine
do...while –Schleife durch eine
for-Schleife
![Page 25: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/25.jpg)
Man wandelt die for-Schleifein einewhile –Schleife um und dann die while –Schleifein eine do...while –Schleife bzw. umgekehrt, kurz:
![Page 26: Vergleich von Schleifen: Wie kann man eine Schleife durch eine andere darstellen ?](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d6249795902118b65c8/html5/thumbnails/26.jpg)
for-Schleife siehe oben (frühere Folie)
<=
=>
<=
=>
siehe oben (frühere Folie)
while-Schleife
do...while –Schleife