Pętla repeat

Pętla repeat … until

Pętla tworzona z wykorzystaniem instrukcji repeat … until wykonywana jest co najmniej raz i kończy się wykonywać, jeśli jest spełniony występujący w niej warunek logiczny.

Pętla tego rodzaju składa się ze słowa kluczowego repeat, po którym występuje sekwencja instrukcji zakończonych słowem kluczowym until i warunkiem logicznym.

Ogólna postać pętli repeat przedstawiona jest poniżej:

repeat
  {instrukcja_1};
  {instrukcja_2};
  {...}
until wyr_log;

Należy zwrócić uwagę, że pętla repeat ... until różni się od pętli while pod trzema względami:

  • pętla repeat wykonuje się co najmniej 1 raz, natomiast pętla while może się nie wykonać wcale
  • pętla repeat wykonywana jest tak długo, jak występujący w niej warunek logiczny jest fałszywy, natomiast pętla while wykonuje się tak długo, jak występujący w niej warunek jest prawdziwy
  • pętla repeat do wykonania wielu instrukcji nie wymaga stosowania instrukcji grupującej

Pętli repeat ... until odpowiada następujący schemat blokowy:

repeat

uses Crt;

begin

 repeat
 until KeyPressed;

end.

Powyższy przykład pokazuje w jaki sposób można zbudować program czekający na naciśnięcie dowolnego klawisza. Wykorzystuje on funkcję KeyPressed z modulu Crt, trzeba więc poinformować komputer że będziemy korzystali z Crt;

Przykład

USES CRT;

VAR
haslo:longint;

BEGIN

REPEAT

clrscr;
writeln(‘Podaj hasło!’);
read(haslo);

UNTIL haslo=123;
writeln(‘BRAWO! Odgadłeś hasło!’);
readln;

END.

 

Author: ZSE

Share This Post On
Skip to content