|
|
|
|
|
|
PΩtle s▒ bardzo wa┐nym elementem ka┐dego programu. To dziΩki nim, program mo┐e byµ bardziej skomplikowany lub te┐ - bardziej prostszy. Za pomoc▒ instrukcji warunkowych program odpowiednio mo┐e dostosowaµ swoje dalsze dzia│anie. Do instrukcji warunkowych nale┐y instrukcja: IF warunek THEN akcja. Mo┐e ona byµ rozbudowana o s│owo ELSE, kt≤re - jak sama nazwa wskazuje - wykona instrukcjΩ w przypadku niespe│nienia warunku. Przyk│ad:
...
writeln(' Podaj liczbΩ o kt≤rej my╢lΩ ');
readln(x);
if x=y then writeln(' Zgad│e╢!!!')
else writeln('¼le!!!');
...
Oczywi╢cie instrukcje, kt≤re zostan▒ wykonane po spe│nieniu danego warunku nie musz▒ byµ takie 'ubogie'. Je┐eli chcieliby╢my umie╢ciµ wiΩcej instrukcji po s│owie 'then', to wtedy musimy rozpocz▒µ je s│owem 'begin' i zako±czyµ s│owem 'end'. Kolejna instrukcja warunkowa to CASE...OF...ELSE. Przyk│ad zastosowania:
...
write(' Podaj dzie± tygodnia');
readln(x);
case x of
1:writeln('poniedzialek');
2:writeln('wtorek');
3:writeln('sroda');
4:writeln('czwartek');
5:writeln('piatek');
6:writeln('sobota');
7:writeln('niedziela');
else
writeln('Tydzien ma tylko SIEDEM dni!');
...
NastΩpn▒ instrukcj▒ warunkow▒ jest REPEAT instrukcje UNTIL warunek. InstrukcjΩ tΩ mo┐na wykorzystaµ jako czekanie na naci╢niΩcie klawisza, tzn. wstrzymanie pracy programu do momentu naci╢niΩcia dowolnego klawisza. Wtedy ma ona postaµ REPEAT UNTIL KEYPRESSED. Przyk│ad:
...
repeat
write('10101');
delay(100);
until keypressed
...
NastΩpnym rodzajem instrukcji s▒ instrukcje iteracyjne, czyli powtarzaj▒ce. Przyk│adem takiej instrukcji jest konstrukcja FOR zmienna:=poczatek TO koniec DO. Przyk│ad:
...
for x:=1 to 10 do writeln('Napis');
...
Efektem bΩdzie napisanie 10 razy s│owa 'Napis'. Oczywi╢cie mo┐na umie╢ciµ dowoln▒ liczbΩ instrukcji po s│owie 'DO', lecz wtedy nale┐y pamiΩtaµ o ich rozpoczΩciu s│owem 'begin' a zako±czeniu s│owem 'end'. Podobn▒ instrukcj▒ jest FOR zmienna:=poczatek DOWNTO koniec DO. Dzia│a ona dok│adnie tak samo, jak poprzednia, z tym, ┐e warto╢µ zmiennej jest zmniejszana a┐ do osi▒gniΩcia warto╢ci r≤wnej zmiennej 'koniec'. Przyk│ad:
...
for x:=10 downto 1 do writeln('Napis');
...
Ostatni▒ z instrukcji jest WHILE warunek DO. Przyk│ad:
...
writeln(' Ile razy mam wypisac cyfre 1? ');
readln(x);
while x>0 do
begin
writeln('1');
ile:=ile-1;
end;
...
W podanym przyk│adzie instrukcja 'while' pos│u┐y nam do wypisania cyfry '1' dok│adnie tyle razy, ile za┐yczy sobie u┐ytkownik. Jest zastosowany prosty licznik, kt≤ry zmniejsza ilo╢µ powt≤rze± pozosta│ych do wykonania (tzn. zmniejsza ilo╢µ '1' pozosta│ych do wypisania).
PhoeniX
red_red_phoenix@kki.net.pl
|
|
|
|
|
|
|