Pętle
Pętla FOR
Pętla FOR ma postać:
for zmienna:= wartość początkowa to
wartość końcowa do instrukcja;
Po słowie kluczowym for występuje zmienna
sterująca. Wartość początkowa oraz wartość
końcowa muszą być tego samego typu co
zmienna porządkowa (sterująca).
Pętla FOR charakteryzuje się tym, iż w
każdym kolejnym cyklu jej wykonywania
zmienna sterująca zostaje zwiększona o 1.
Przykłady użycia pętli for
Przykład 1:
for i:=1 to 10 do writeln (i);
Przykład 2:
for i:=1 to 10 do {10jest tu wartością końcową}
begin
writeln (i);
writeln (‘ Zmienna’);
end;
Przykład programu z pętlą
for
Program liczby;
{program wyświetla na ekranie liczby od 1 do 20}
uses Crt; {procedura czyszcząca ekran}
var
i:=byte; {deklaracja zmiennej i z zakresu od 0do
255 czyli Byte}
begin
for i:=1 to 20 do {określenie parametrów w pętli
for}
begin
write (i,’’);
end;
end.
Schemat blokowy pętli for
Druga postać pętli for
Pętla for może mieć także taką postać:
for zmienna := wartość początkowa
downto wartość końcowa do instrukcja;
Różnica pomiędzy zapisem obu postaci
pętli polega na tym, że słowo do
zastępujemy słowem downto, co oznacza,
że odliczanie zmiennej sterującej odbywać
się będzie „w dół”, a nie „w górę”
Przykład pętli
Program liczby_wspak;
{program wyświetla na ekranie liczby od 20 do 1}
Uses Crt;
var
i:=byte;
begin
for i:=20 downto 1 do
begin
write (i,’ ’);
end;
end.
Pętla Repeat
Pętla Repeat ma postać:
repeat instrukcje until warunek;
Pętla wykonywana jest tak długo, aż spełniony
będzie warunek. Cechą charakterystyczną tej pętli
jest to, iż grupę występujących tu instrukcji nie
otaczamy słowami begin i end.
Zasadą działania jest: najpierw wykonana
instrukcja, a następnie sprawdzony warunek, innymi
słowy instrukcje umieszczane między słowami
Repeat i Until są wykonywane wtedy, gdy wartość
warunku logicznego jest fałszem (False), w
przeciwnym wypadku pętla zostaje zakończona.
Schemat blokowy pętli
repeat
Przykład składni
Program wielomian;
{program czyta wartość X oraz
kolejny współczynnik wielomianu, a następnie
wylicza jego wartość dla X}
var
X, W :real;
Warosc :real;
begin
write (‘Podaj argument X: ‘);
readln (X);
Wartosc := 0;
repeat
write (‘Podaj kolejny współczynnik wielomianu: ‘);
readln (W);
If (W<>10e8) then
Wartosc := Wartosc*X + W;
until (W = 10e8);
writeln (‘Wartosc wielomianu w punkcie ‘,X:0:2, ‘wynosi’, Wartość:0:2);
readln
end.
Pętla While.
Pętla While ma postać:
while warunek do instrukcja;
Pętla wykonywana będzie dopóty,
dopóki warunek będzie spełniony przy
każdym wykonywaniu pętli.
Przykład zastosowania pętli
While
Program lekcja;
Uses Crt;
begin
while (not keypressed) do write (‘Ucze sie Pascala’);
end.
Po uruchomieniu programu widzimy, że na ekranie
wypisany jest napis “ Ucze sie Pascala”, pętla
wykonuje się dopóki nie naciśniemy dowolnego
klawisza.
Funkcja keypressed zwraca wartość true (Prawda)
wtedy, gdy naciśnięty zostanie jakiś klawisz. W
przeciwnym wypadku pętla dalej będzie się
wykonywała.
Schemat blokowy pętli
While