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