Wiederholungsanweisungen

FOR...TO...DO Syntax FOR <Laufvariable> := <Startwert> TO <Endwert> DO <Anweisungen> END
oder auch
FOR <Laufvariable> := <Startwert> TO <Endwert> BY <Schrittweite> DO ....
Beispiele
FOR  i:=1  TO  5  DO
     Display.WriteInt(i,5);
END;
Gibt die Zahlen von 1 bis 5 aus
Summe:=0;
FOR i:=1 TO 20 BY 7 DO
     Summe:=Summe + i;
END;
Addiert die Zahlen 1, 8 und 15 auf
REPEAT...UNTIL Syntax REPEAT  <Anweisungsfolge> UNTIL <Bedingung>;
Beispiel
REPEAT
     Rest := a  MOD b;
     a := b;
     b := Rest;
UNTIL   Rest = 0;
Kernstück des
euklidischen Algorithmus
REPEAT
     Display.ReadChar(c);
     IF c # Display.ESC  THEN
          Display.WriteChar(CAP(c));
     END;
UNTIL  c = Display.ESC;
wandelt Buchstaben
in Großbuchstaben um,
bis die Escape-Taste
gedrückt wird
Anmerkung Die Anweisungsfolge wird mindestens einmal durchlaufen, auch wenn die Abbruchbedingung von Anfang an zutrifft.
WHILE...DO Syntax WHILE  <Bedingung>  DO  <Anweisungsfolge>  END;
Beispiel
Display.ReadInt(n,5,res);  (*erste Zahl*)
WHILE  (n#0)  &  (res#Display.ESC)  DO
     sum := 0;
     WHILE  n#0  DO
          sum:=sum + (n MOD 10);
          n := n  DIV 10;
     END;
     Display.WriteInt(sum,0);
     Display.WriteLn;
     Display.ReadInt(n,5,res);  (*nächste Zahl*)
END;
Berechnet die
Quersumme der
eingegebenen
Zahlen
Anmerkung Die Anweisungsfolge wird überhaupt nicht ausgeführt, wenn die Bedingung von Anfang an nicht zutrifft.
LOOP / EXIT Syntax LOOP  <Anweisungsfolge>  END;
Beispiel LOOP
     Display.ReadChar(c);
     IF  c = Display.ESC  THEN  EXIT  END;
     Display.WriteChar(c);
END;
Anmerkung Grundsätzlich sind mehrere EXIT - Anweisungen innerhalb von LOOP...END möglich. Der besseren Lesbarkeit des Programms willen sollte man aber versuchen, mit nur einem EXIT auszukommen.