Programmiersprache Pascal

Verallgemeinerter Zyklus

Struktogramm

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



P. Böhme, 06.09.1996