Einen besonderen Schleifentyp braucht man recht häufig. Und zwar ist das eine Schleife, die eine vorher festgelegte Anzahl von Durchläufen durchläuft. Diese Schleife nennt man eine For-Schleife. In Struktor kann dieser Schleifentyp nicht unmittelbar dargestellt werden. Aber wir können diese Schleife simulieren:
Jede For-Schleife kann durch 3 Angaben charakterisiert werden:
Das Initialisierungskommando: in diesem Fall ist dies "i=0;"
Die Bedingung: in diesem Fall "i<10"
Das Kommando, daß bei jedem Durchlauf ein mal ausgeführt wird: in diesem Fall "i=i+1;"
In der Programmiersprache C würde deswegen diese for-Schleife folgendermaßen hingeschrieben:
for(i=0;i<0;i=i+1);
Das ändert aber nichts an der Tatsache, das jede For-Schleife durch eine normale Schleife (plus 2 zusätzliche Anweisungen) ersetzt werden kann.
Beachten Sie bitte das die obige Schleife genau 10 mal ausgeführt wird. Das könnte auch anders erreicht werden. z.b (in der C-Schreibweise):
for(i=1;i<11;i=i+1) oder
for(i=1;i<=10;i=i+1)oder
for(i=10;i>0;i=i-1)oder
for(i=-345;i>365;i=i-2)
Natürlich gibt es noch unendlich viel mehr Möglichkeiten. Machen diese Möglichkeiten Sinn ?
Sie machen dann Sinn, wenn wir die Variable i innerhalb des Schleifenkörpers auch verwenden. Für das obige Programm wäre z.B. die Form
for(i=1;i<11;i=i+1)
günstiger, weil dann die Ausgabe auch sinnvoller ist.
Hier noch ein vielleicht eingängigeres Beispiel:
Wie eine For-Loop als Struktogramm dargestellt werden kann, ist nicht standadisiert. Trotzdem ist eine For-Loop so allgemein verbreitet, das dies wünschenswert wäre. In Struktor schaut eine For-Loop folgendermaßen aus: