
Innerhalb des Aktionsteils befindet sich eine Abbruchbedingung
(Austrittsbedingung), d.h. der Zyklus wird verlassen, wenn diese Bedingung
erfüllt ist.
Die Aktionen 1 und 2 werden wiederholt, bis die Abbruchbedingung erfüllt
ist. Aktion 1 wird dabei einmal mehr ausgeführt als die Aktion 2.
Pseudocode
LOOP
anweisungsfolge_1
WHEN bedingung THEN EXIT
anweisungsfolge_2
END LOOP
Die Abweisschleife kann als Spezialfall aufgefaßt werden:
LOOP
WHEN NOT bedingung THEN EXIT
anweisungsfolge
END LOOP
Auch die Nichtabweisschleife ist ein Spezialfall des verallgemeinerten
Zyklus:
LOOP
anweisungsfolge
WHEN bedingung THEN EXIT
END LOOP
Pascal
Im Unterschied zu den Pascal-Nachfolgesprachen Modula und Oberon gibt
es in Pascal kein spezielles Sprachkonstrukt für den verallgemeinerten
Zyklus.
Dies gilt sowohl für Standard als auch für Extended Pascal.
cycle := TRUE; { VAR cycle : BOOLEAN; }
WHILE cycle DO BEGIN
anweisungsfolge_1;
IF NOT bedingung THEN
anweisungsfolge_2
ELSE
cycle := FALSE
END;
Borland Pascal 7.0, Delphi, Gnu Pascal, Pascal++
WHILE TRUE DO BEGIN
anweisungsfolge_1;
IF bedingung THEN Break;
anweisungsfolge_2;
END;
XL Pascal
WHILE TRUE DO BEGIN
anweisungsfolge_1;
IF bedingung THEN LEAVE;
anweisungsfolge_2;
END;
Siehe auch: Sprünge