Repeat

rk7771

Instrukcja Repeat ... Until (nazywana pętlą "powtarzaj")

Instrukcja ta wykonuje cyklicznie inne instrukcje zawarte pomiędzy słowami repeat i until do momentu gdy wyrażenie znajdujące się za słowem until nie przyjmie wartości prawda (czyli True).

Efekt zastosowania pętli repeat jest bardzo podobny do działania pętli While ? pętla ta także może być wykonywana ogromną liczbę razy. Jedyna różnica polega na tym, że w pętli repeat warunek zakończenia sprawdzany jest dopiero po wykonaniu instrukcji. Oznacza to, że pętla repeat zawsze będzie wykonana co najmniej raz. Dopiero po tej iteracji program sprawdzi, czy można zakończyć działanie pętli. W przypadku pętli While warunek jest sprawdzany bezpośrednio przed jej wykonaniem, co w rezultacie może spowodować, że taka pętla nigdy nie zostanie wykonana.

Budowa pętli repeat jest następująca:

repeat
  { instrukcje do wykonania }
until { warunek zakończenia }

Przykład instrukcji Repeat... Until:

var
  znak : char;

begin
  repeat
    Writeln('Podaj znak: ');
    Readln(znak);
  until(LowerCase(znak) = 'x');
end;

Z pętlami wiąże się niebezpieczeństwo zapętlenia. Należy uważać, aby nie dopuścić do wykonywania przez program tych samych czynności w kółko. Może do tego dojść, jeżeli warunek zakończenia nigdy nie zostanie spełniony.

Zobacz też:

1 komentarz

Że co to niby jest? A przykład jakiś?