4.3.3. while-Anweisung

Eine while-Anweisung ähnelt in vieler Hinsicht einer repeat-Anweisung. Die Bedingung wird aber bereits vor der ersten Ausführung der Anweisungsfolge ausgewertet. Wenn das Ergebnis der Bedingung False ist, wird die Anweisungsfolge nicht ausgeführt. Die Syntax einer while-Anweisung lautet

Quelltext-Beispiel:
1
while Ausdruck do Anweisung
Ausdruck liefert einen Booleschen Wert zurück. Bei Anweisung kann es sich auch um eine Verbundanweisung handeln. Die while-Anweisung führt Anweisung wiederholt aus und wertet vor jedem neuen Durchlauf den angegebenen Ausdruck aus. Solange Ausdruck den Wert True ergibt, wird die Ausführung fortgesetzt.
Hier einige Bespiele für while-Anweisungen:

Quelltext-Beispiel:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
while Data[I] <> X do I := I + 1;
while I > 0 do
begin
if Odd(I) then Z := Z * X;
I := I div 2;
X := Sqr(X);
end;
while I > 0 do
begin
if Odd(I) then Z := Z * X;
I := I div 2;
X := Sqr(X);
end;