Pętla for ... to ... do
1 2 3 |
for licznik:=wartosc_poczatkowa to wartosc_koncowa do instrukcja_iteracyjna for licznik:=wartosc_poczatkowa downto wartosc_koncowa do instrukcja_iteracyjna |
Używa się tej pętli, gdy ilość powtórzeń jest z góry znana - instrukcja wykonuje określoną ilość iteracji. Pętla automatycznie zwiększa (zmniejsza) wartość licznika o 1.
1 2 3 4 |
for i:=1 to 10 do writeln(i); {wypisuje liczby od 1 do 10 w kolejnych liniach} s:=1; for i:=10 downto 1 do s:=s*i {oblicza silnię z 10} |
Pętla while ... do
1 |
while wyrazenie do instrukcja |
Instrukcja ta służy do powtarzania instrukcji występującej po słowie "DO", jeżeli spełniony jest warunek określony przez "WYRAZENIE".
1 2 3 4 5 6 |
i:=0; while i<20 do begin writeln(i); i:=i+3; end; |
Pętla repeat ... until
1 |
REPEAT instrukcja; UNTIL warinek |
Instrukcja służy do powtarzania insrukcji zawartych między słowami REPEAT i UNTIL aż do spełnienia warunku określonego przez wyrażenie po słowie UNTIL.
1 2 3 4 5 |
s:=0; i:=1; repeat s:=s+i; i:=i+1; until i>10 |
Zadanie 1. Oblicz trzema sposobami silnię z podanej liczby naturalnej.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
program silnia_for; var i, n: integer; suma: real; begin suma:=1; ReadLn(n); for i:=1 to n do begin suma:=suma*i; end; WriteLn(suma:0:0); ReadLn; end. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
program silnia_while; var n, i : integer; suma : real; begin readLn(n); i:=1; suma:=1; while i<=n do begin suma:=suma*i; i:=i+1; end; WriteLn(suma:0:0); ReadLn; end. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
program silnia_repeat; var i, n: integer; suma: real; begin i:=1; suma:=1; readLn(n); repeat begin suma:=suma*i; i:=i+1; end until i>n; WriteLn(suma:0:0); ReadLn; end. |