Bei der Zä„hlschleife muß vor Schleifenbeginn die Anzahl der Schleifendurchläufe bekannt sein. Eine Zählvariable wird zu Anfang auf einen Startwert gesetzt und nach jedem Schleifendurchlauf um 1 erhöht. Der letzte Schleifendurchlauf erfolgt mit dem angegebenen Endwert.
FOR Variable:= Startwert TO Endwert DO Anweisung
Die Zählvariable wird rückwärts durchgezählt, wenn TO durch DOWNTO ersetzt wird:
FOR Variable:= Startwert DOWNTO Endwert
DO Anweisung
Die Zählvariable kann nur in Einerschritten
inkrementiert
(aufwärts gezählt) oder dekrementiert
(abwärts gezählt) werden. Andere Schrittweiten
sind in PASCAL nicht möglich.
Die Zählvariable muß einen abzählbaren Typ besitzen;
im Normalfall der Typ
integer .
Reellwertige Typen sind nicht erlaubt!
Der Schleifenkörper enthält nur eine Anweisung.
Bei Bedarf können mit BEGIN und END mehrere
Anweisungen zusammengefaßt werden.
Reellwertige Zählvariablen mit beliebigen Schrittweiten
können folgendermaßen realisiert werden:
FOR i:=0 TO 9 DO BEGIN x:=start+schrittweite*i; writeln(x:5:2,sqrt(x):10:5) END
Die WHILE -Schleife testet vor jedem Schleifendurchlauf, ob eine Bedingung erfüllt ist. Wenn ja, wird der Schleifenkörper durchlaufen, wenn nein, wird die Schleife beendet.
WHILE Bedingung DO Anweisung
Der Schleifenkörper enthält nur eine Anweisung.
Bei Bedarf können mit BEGIN und END mehrere
Anweisungen zusammengefaßt werden.
Ist die Bedingung bereits zu Beginn nicht erfüllt, so wird
der Schleifenkörper überhaupt nicht durchlaufen.
Die REPEAT -Schleife testet nach jedem Schleifendurchlauf,
ob eine Bedingung erfüllt ist. Wenn ja, wird die Schleife beendet,
wenn nein, wird der Schleifenkörper ein weiteres Mal durchlaufen.
Da die Bedingung nach dem Schleifenkörper getestet wird,
wird die REPEAT -Schleife immer mindestens einmal durchlaufen.
Hier dürfen zwischen REPEAT und UNTIL
beliebig viele Anweisungen stehen. Es ist also nicht nötig,
mehrere Anweisungen mit BEGIN und END einzuklammern.
Vor UNTIL ist ebenso wie vor END ein Semikolon
nicht nötig, aber auch nicht verboten.