Pętla Repeat


Składnia pętli repeat:

 repeat 
  instrukcja_1; 
   ...; 
  instrukcja_N; 
 until wyrażenie_logiczne

gdzie wyrażenie_logiczne zwraca wartość logiczną. (ostatni średnik prze słowem until jest opcjonalny.) Pętla powtarza swą sekwencję instrukcji instrukcja_1;...;instrukcja_N; sprawdzając każdorazowo po jej wykonaniu wartość wyrażenia logicznego. Kiedy osiągnie ono wartość True, pętla kończy swe działanie i przekazuje kontrolę kolejnym instrukcjom w programie. Sekwencja instrukcja_1;...;instrukcja_N; jest wykonywana conajmniej raz z uwagi na miejsce sprawdzania warunku logicznego - na końcu pętli.

Przykłady:

 i:=1;
 s:=1.0;
 repeat
     s := s*i;
     i := i+1;
 until (i >= 10);
 repeat
   K := I mod J;
   I := J;
   J := K;
 until J = 0;
 repeat
   Write('Enter a value (0..9): ');
   Readln(I);
 until (I >= 0) and (I <= 9);