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:
1 2 3 4 |
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:
1 2 3 4 5 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
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. |
Pętla Repeat-Until Pętla iteracyjna (FOR-TO-DO)