Pętla While


Pętla while jest instrukcją podobną do pętli repeat..until. Różnica polega na umiejscowieniu sprawdzania warunku logicznego. W przypadku pętli whilesprawdzenie ma miejsce przed pierwszym wykonaniem instrukcji wewnątrz pętli. Zatem jeśli wyrażenie_logiczne ma wartość False, instrukcja nie jest wykonywana.

Składnia instrukcji while:

  while wyrażenie_logiczne do instrukcja;

gdzie wyrażenie_logiczne zwraca wartość logiczną, a instrukcja może być instrukcją blokową (begin ... end;). Pętla powtarza instrukcję instrukcja sprawdzając każdorazowo przed jej wykonaniem wartość wyrażenia logicznego. Kiedy osiągnie ono wartość False, pętla nie wykona już instrukcji, zakończy swe działanie i przekaże kontrolę dalszym instrukcjom w programie.

Przykłady:

 i:=1;
 s:=1.0;
 while i <= 10 do
 begin
  s := s*i;
  i := i+1;
 end;
 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 not Eof(InputFile) do
 begin
   Readln(InputFile, Line);
   Process(Line);
 end;