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-UNTILzostanie zawsze wykonana przynajmniej jeden raz, ponieważ warunek sprawdzany jest dopiero na końcu. (Przeciwieństwem pętliREPEAT-UNTILjest 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.