Pętla While-Do
Pętla While DO
jest jedną z najczęściej stosowanych pętli przez programistów. Umożliwia ona bowiem, sprawdzenie warunku na samym początku w przeciwieństwie do instrukcji REPEAT UNTIL
gdzie warunek sprawdzany jest na jej końcu.
Ogólna składnia pętli While Do
wygląda tak:
WHILE {warunek} DO BEGIN {otwieramy klamrę BEGIN-END, w przypadku gdy podany kod będzie składał się z więcej niż jednej instrukcji} {kod} END; {zamykamy klamrę BEGIN-END}
Przykład zastosowania pętli WHILE-DO
:
WHILE a = 0 DO BEGIN write('Podaj jeszcze raz liczbę (ma ona być różna od 0): '); readln(a); END;
Powyższa pętla będzie działać do momentu kiedy nie zostanie podana liczba różna od 0
(wtedy warunek podany na początku instrukcji zwróci false czyli będzie nie prawdziwy i pętla nie zostanie wykonana).
W ramach praktycznego ćwiczenia przeróbmy więc program z poprzedniego artykułu, ale tak aby zamiast pętli REPEAT-UNTIL
użyć instrukcję WHILE-DO
:
program dzielenie-repeat; uses CRT; var a,b:byte; wynik:real; begin ClrScr; Write('Podaj pierwszą liczbę: '); Readln(a); Write('Podaj liczbę różną od 0: '); Readln(b); WHILE b = 0 DO BEGIN write('Podaj jeszcze raz liczbę (ma ona być różna od 0): ') readln(b); END; wynik := a/b; write('Wynik dzielenia wynosi: ', wynik:4:2); repeat until KeyPressed; end.