Pętla Repeat-Until
Pętle są jednym z najważniejszych elementów języka programowania. Dzięki nim, można wykonać automatycznie kilka razy dany fragment kodu, w zależności od spełnionego warunku. W niniejszym artykule poznamy pętle REPEAT UNTIL
(POWTARZAJ DOPÓKI).
Ogólna składnia pętli Repeat Until wygląda następująco:
REPEAT {dowolny fragment kodu} UNTIL {warunek...}; {...oraz średnik}
Zasada działania powyższej pętli jest bardzo prosta. Podany kod pomiędzy słowami kluczowymi REPEAT
i UNTIL
jest wykonywany dopóty, dopóki podany warunek po słowie kluczowym UNTIL
nie zwróci true
czyli nie będzie prawdziwy.
Uwaga: Pętla
REPEAT-UNTIL
zostanie zawsze wykonana przynajmniej jeden raz, ponieważ warunek sprawdzany jest dopiero na końcu. (Przeciwieństwem pętliREPEAT-UNTIL
jest pętlaWHILE-DO
).
Przykład zastosowania pętli REPEAT
:
REPEAT Write('Podaj liczbę różną od 0: '); Readln(a); UNTIL a <> 0;
W powyższym przykładzie podany kod, będzie działał dopóty, dopóki użytkownik nie poda liczby różnej od 0
(wtedy warunek będzie prawdziwy).
Napiszmy więc program, który dzieli dwie liczby przez siebie. Do sprawdzenia czy dzielna jest różna od 0
, zastosujemy pętlę REPEAT-UNTIL
zamiast instrukcji warunkowej IF
:
program dzielenie-repeat; uses CRT; var a,b:byte; wynik:real; begin ClrScr; Write('Podaj pierwszą liczbę: '); Readln(a); REPEAT Write('Podaj liczbę różną od 0: '); Readln(b); UNTIL b <> 0; wynik := a/b; write('Wynik dzielenia wynosi: ', wynik:4:2); repeat until KeyPressed; end.