Vetvenie programu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
spôsobí, že program môže ísť rôznymi cestami, podľa nami
zadaných podmienok. Dá sa to urobiť: |
|
|
|
|
1. |
podmienkou if ... then ... |
|
|
|
|
|
|
|
|
|
|
|
|
if x<5 then |
|
|
|
|
|
|
|
|
|
|
|
|
|
write(´malo´); |
|
|
|
|
|
|
|
|
|
|
|
write(´vela´); |
|
|
|
|
|
|
|
|
|
|
= |
ak je pred príkazom if x=4, program napíše malo, ak je 6
riadok preskočí, a vykoná ten ďaľší - napíše vela. |
|
|
|
2. |
podmienkou if ... then ... Else |
|
|
|
|
|
|
|
|
|
|
|
if podmienka then |
|
|
|
|
|
|
|
|
|
|
|
|
write(´malo´) |
|
|
|
|
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
write(´vela´); |
|
|
|
|
|
|
|
|
|
= |
ak je splnená podmienka, napíše malo, ak nie, napíše vela.
!!!Pred a za else NESMIE byť znak ; |
|
|
|
|
Else sa používa hlavne ak chceme vykonať viac príkazov za
sebou, ak je splnená podmienka. Vtery použijeme ešte jedno begin a end: |
|
|
|
if podmienka then |
|
|
|
|
|
|
|
|
|
|
|
|
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
x:=4; |
|
|
|
|
|
|
|
|
|
|
|
|
|
i:=i+1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x:=6; |
|
|
|
|
|
|
|
|
|
|
A program vždy pokračuje ďaľším riadkom ďalej. |
|
|
|
|
|
|
|
Spájanie podmienok |
|
|
|
|
|
|
|
|
|
|
|
Niekedy potrebujeme použiť viac podmienok naraz, alebo opak
podmienky: |
|
|
|
|
|
|
|
not(a<=3) |
|
teda a<3 |
|
|
|
|
|
|
|
|
|
|
(a>=0) and (a<=3) |
a je od 0 po 3 |
|
|
|
|
|
|
|
|
|
(a>3) or (a=3) |
|
a je menšie ALEBO rovné 3 |
sa dá napísať aj ako |
(a>=3) |
|
|
|
Vetvenie pomocou case |
|
|
|
|
|
|
|
|
|
|
|
sa robí vtedy, ak treba vykonať rôzne operácie v prípade, že
premenná nadobúda inú hodnotu. Napr. |
|
|
|
|
po zadaní čísla 1 až 5 program napíše známku slovom, t.j. 1 je
výborný ... |
|
|
|
|
|
|
case znamka of |
|
|
|
|
|
|
|
|
|
|
|
hodnora_1: príkaz_1; |
1:write('vyborny'); |
|
|
!!! Na konci riadka case nie je ; |
|
|
|
|
|
hodnora_2: príkaz_2; |
2:write('chvalitebny'); |
|
|
|
|
|
|
|
|
|
|
. |
3:write('dobry'); |
|
|
|
|
|
|
|
|
|
|
|
4:write('dostatocny'); |
|
|
|
|
|
|
|
|
|
|
. |
5:write('nedostatocny') |
|
|
|
|
|
|
|
|
|
|
else |
|
|
|
|
za else nie je a na koniec je end;!!! |
|
|
|
|
|
|
write('nezadali ste cislo pre znamku); |
|
|
|
|
|
|
|
|
|
end; |
|
|
|
|
Bez begin |
|
|
|
|
|
|
|
Príklad 5 [1] |
|
|
|
|
|
|
Príklad 6 [2] |
|
|
|
|
|
|
Príklad 7 [3] |
|
|
|
|
|
|
Príklad 7a [4] |
|
|
|
|
|