Die Abbruchbedingung "solange i<=100" kann vor oder nach der Schleife stehen (im
1. und 2. Bild). Wenn Sie vor der Schleife steht ('while' Schleife in Pascal) wird zuerst ueberprueft ob die
Bedingung wahr ist, und dann wird die Schleife ein Mal durchgelaufen, alle
Anweisungen in der Schleife werden 1 Mal ausgefuehrt. Danach wird wieder
ueberprueft ob die Bedingung wahr ist und wenn es so ist werden die Anweisungen
nochmall Ausgefuehrt. Das geht so weiter bis die Bedingung falsch wird. Das "i"
wird z.B. nach dem letzten Durchlauf 101 und das ist nicht <= 100. Die
Wiederholung bricht ab. (Diesen Schleifentypus haben wir noch nicht durchgenommen.)
Man kann die Abbruchbedingung auch nach der Schleife definieren ('Repeat' Schleife in Pascal). In diesem
Fall werden die Anweisungen erst ausgefuehrt und dann wird ueberprueft ob sie
ein weiteres Mal ausgefuehrt werden sollen, d.h. ob die Schleifenbedingung noch
wahr ist.
Man kann auch von Anfang an bestimmen wie oft die Schleife
durchgelaufen werden soll(im 3. Bild).
In dieser sogenannten Zählschleife ('for' Schleife in Pascal) ist die Zahl der Wiederholungen vor Eintritt in die Schleife be-kannt
und wird meist von einer Zählvariablen kontrolliert. Die Zählvariable ist oft
vom Typ int und wird in der Schleife schrittweise verändert. (Tatsächlich können
Zählschleifen bedeutend komplizierter aufgebaut sein!)
Aufgabe 1:
Mache ein Struktogramm von dem Programm, das entscheidet welche von zwei eingegebenen Zahlen größer ist, und diese dann ausgibt.
Aufgabe 2:
Mache ein Struktogramm von einem Programm, das die Zahlen von 100 an in Zweierschritten runterzählt (also 100,98, 96, ...).
Die Zahl 50 soll dabei ausgelassen werden.
Bei Null soll das Programm beendet werden. (Nach einer Tasteneingabe)
Aufgabe 3:
Welcher Algorithmus verbirgt sich hinter diesem Struktogramm?
- Führe einen Schreibtischtest mit a = 2 durch. Was wird ausgegegeben?
- Was berechnet der Grieche mit seinem Verfahren?
