Podstawowe instrukcje w Turbo Pascalu

Transkrypt

Podstawowe instrukcje w Turbo Pascalu
Podstawowe instrukcje w Turbo Pascalu
Czynności wykonywane na danych są opisane za pomocą instrukcji. Instrukcje w Turbo Pascalu
dzielą się na instrukcje proste, tj. takie, które nie zawierają jako składowych innych instrukcji, oraz
instrukcje strukturalne, zbudowane na podstawie pewnego schematu strukturalizacji kilku instrukcji.
Do instrukcji prostych zaliczamy:
- instrukcję przypisania;
- instrukcję skoku;
- instrukcje wywołania procedury.
Do instrukcji strukturalnych zaliczamy:
- instrukcje warunkowe;
- instrukcje iteracyjne;
- instrukcję wiąŜącą.
Instrukcje warunkowe
Instrukcje warunkowe uzaleŜniają wykonanie innych instrukcji od spełnienia określonego
warunku. W języku Turbo Pascal istnieją dwie instrukcje warunkowe:
- instrukcja „jeśli” (if then else) mająca dwie moŜliwe postacie;
- instrukcja wyboru (case).
Instrukcja „jeśli”
Instrukcja „jeśli” uzaleŜnia wykonanie innej lub innych instrukcji od spełnienia lub niespełnienia
podanego warunku. Ogólna postać instrukcji jest następująca:
if wyraŜenie then instrukcja;
lub
if wyraŜenie then instrukcja1 else instrukcja2;
Wartością wyraŜenia powinny być wartości logiczne True lub False.
Pierwszy wariant określa, Ŝe jeŜeli wyraŜenie jest spełnione (jest prawdziwe), to wykonana
zostanie instrukcja po słowie then. Gdyby wyraŜenie nie zostało spełnione, to instrukcja ta nie zostanie
wykonana.
Drugi wariant instrukcji warunkowej, pozostawia nam większy wybór. JeŜeli wyraŜenie jest
prawdziwe, to wykonana zostanie instrukcja1 po słowie then, w przeciwnym przypadku wykonana
zostanie instrukcja2 po słowie else. Przed słowem else nie moŜe wystąpić średnik.
Przykład:
1). if x<y then a:=0
else a:=1
2). if liczba1>liczba2 then write (liczba1,’jest większe od’,liczba2)
else write (liczba1,’jest mniejsze od’,liczba2)
Instrukcje warunkowe „jeśli” mogą być zagnieŜdŜone. Z taką instrukcją mamy do czynienia, gdy po
słowach then lub else występuje znowu instrukcja „jeśli”.
Przykład:
1). if liczba1>liczba2 then write (liczba1,’jest większe od’,liczba2)
else if liczba1=liczba2 then write (liczba1,’i’,liczba2,’są równe’)
else write (liczba1,’jest mniejsze od’,liczba2)
1
Instrukcja wyboru
Instrukcja ta moŜe mieć dwie postaci:
case wyraŜenie of
stała_wyboru1 : instrukcja1;
stała_wyboru2 : instrukcja2;
end;
lub
case wyraŜenie of
stała_wyboru1 : instrukcja1;
stała_wyboru2 : instrukcja2;
else instrukcja_n
end;
KaŜda instrukcja case jest zakończona słowem end, a przed słowem else musi być średnik.
Wartość wyraŜenia, zwanego selektorem, musi być typu porządkowego. Sekwencja instrukcji wyboru
składa się z instrukcji, przy czym kaŜda z nich poprzedzona jest jedną lub kilkoma stałymi, zwanymi
stałymi wyboru, które od instrukcji oddzielone są dwukropkiem. Poszczególne stałe wyboru
oddzielone są przecinkami.
Przykład:
1). case wzrost of
{w przypadku, gdy wzrost:}
170..220 : writeln (‘Jesteś wysoki’);
150..169 : writeln (‘Jesteś średniego wzrostu’);
100..149 : writeln (‘Jesteś niski’);
end;
2). case wzrost of
{gdy ktoś jest wyŜszy od 220, a niŜszy od 100}
170..220 : writeln (‘Jesteś wysoki’);
150..169 : writeln (‘Jesteś średniego wzrostu’);
100..149 : writeln (‘Jesteś niski’);
else writeln (‘Nie przewidziano takiego wzrostu’);
end;
3). case miesiąc of
{zakładamy wcześniej, Ŝe zmienna „miesiąc” ma wartości od 1 do 12}
1,3,5,7,8,10,12 : dni:=31;
2
: dni:=28;
4,6,9,11
: dni:=30;
end;
4). case miesiąc of
2
: dni:=28;
4,6,9,11
: dni:=30;
else dni:=31;
end;
2
Instrukcje iteracyjne
Instrukcje iteracyjne słuŜą do organizowania cykli programowych, tj. wielokrotnego
wykonywania pewnych sekwencji instrukcji. W języku Turbo Pascal występują trzy instrukcje
iteracyjne:
- instrukcja „dla”- for;
- instrukcja „dopóki” - while;
- instrukcja „powtarzaj” - repeat.
Instrukcja „dla” - for
Instrukcję iteracyjną „dla” stosuje się zwykle w celu wykonania pewnej grupy instrukcji w
przypadku, gdy liczba powtórzeń jest znana w danym miejscu programu. Instrukcja „dla” moŜe mieć
jedną z dwu postaci:
for zmienna:=wyraŜenie1 to wyraŜenie2 do instrukcja;
lub
for zmienna:=wyraŜenie1 to wyraŜenie2 downto instrukcja;
Działanie pętli „for” polega na tym, Ŝe instrukcja występująca po słowie do jest wykonywana tyle razy,
ile występuje wartości pomiędzy wartością wyraŜenia1 a wartością wyrazenia2. Dla pierwszej postaci
definicji wartość wyrazenia1 musi być mniejsza lub równa wartości wyrazenia2. W drugim przypadku
jest odwrotnie – wartość wyraŜenia1 musi być większa lub równa od wartości wyraŜenia2. JeŜeli
warunki te nie zostaną spełnione to pętla nie wykona się ani razu.
Przykład:
1). for k:=1 to 2 do
writeln (‘Nauczę się programowania!!!”);
2). for i:=1 to 9 do
begin
write (i);
for j:=1 to 9 do write(i*j);
end;
Instrukcja „dopóki” – while
Instrukcja „dopóki” słuŜy do opisywania iteracji ze sprawdzeniem warunku na początku i ma postać:
while wyraŜenie do instrukcja;
Instrukcja po słowie do jest wykonywana dopóty, dopóki wyraŜenie jest prawdziwe. JeŜeli wyraŜenie
przy pierwszym wejściu w instrukcję while będzie fałszywe, to pętla nie wykona się ani razu.
Przykład:
1). while k<10 do
begin
x:=(x+k)/k;
end;
2). while k<>0 do
begin
n:=k*k
end;
3
Instrukcja „powtarzaj”
Instrukcja „powtarzaj” słuŜy do opisywania iteracji ze sprawdzeniem warunku na końcu i ma postać:
repeat
instrukcja1;
instrukcja2;
.
.
until warunek;
Instrukcja repeat polega na wykonaniu wszystkich instrukcji, które zostały umieszczone w pętli,
a następnie na sprawdzeniu warunku, umieszczonego na samym końcu pętli. Pętla wykonywana jest
tyle razy, aŜ warunek logiczny stanie się prawdziwy. Instrukcja ta musi wykonać się chociaŜ jeden raz,
gdyŜ warunek jest sprawdzany na końcu.
Przykład:
1). i:=0;
repeat
a:=a+i;
until i=10;
2). repeat
textcolor (random (15));
writeln (‘Turbo Pascal’)
until KeyPressed;
3). repeat
write (‘a= ‘);
readln (a)
until a>0;
Opracowanie: Wioleta Musiał
4