If

From Delphi & Pascal (česká wiki)
(Redirected from Podmienky IF)
Jump to navigation Jump to search

Podmienky

IF (logický výraz podmienky) THEN príkaz; (vetvenie programu)


Ak programátor píše program (programuje), nemôže presne predpokladať ako sa majú vykonávať príkazy ktoré píše. Často sa stáva, že má jeho dielo ináč reagovať, ináč vykonávať príkazy v závislosti na rôznych okolnostiach. Často je to odpoveď užívateľa, nepripravenosť tlačiarne, pohyb počítačovou myšou (stlačenie klávesy). To všetko musí programátor predvídať a podľa toho by sa mal správať aj jeho program. Práve na tento účel slúžia podmienky IF, ktoré dokážu vetviť program. V závislosti na podmienke vykonajú určitý príkaz.

Úplná podmienka:

IF (podmienka) THEN BEGIN
   príkaz;
   ..
END
ELSE BEGIN
   príkaz;
   ..
END

Skrátená (častejšie používaná)

IF (podmienka) THEN BEGIN
   príkaz;
   ..
END;

Ak je splnená podmienka budú vykonané príkazy medzi BEGIN .. END. V prípade, že podmienka splnená nie je, budú vykonané príkazy za slovíčkom ELSE. Tieto príkazy sú znova ohraničené BEGIN .. END.

Tu je dôležité upozorniť na dve veci. Ako prvé si všimnite že v úplnej podmienke sa za prvým END bodkočiarka neuvádza. Za druhé ak chcete medzi BEGIN .. END napísať iba jeden príkaz potom môžete práve BEGIN-END vynechať.


Logické výrazy, podmienky.

Logické výrazy sú najčastejšie aplikáciou porovnávania dvoch čísel, dvoch premenných, alebo premenných s číslom.

Na porovnanie máme:

IF (X=10) THEN ak je x rovné číslu 10
(X<10) ak je x menšie ako 10
(X>10) ak je x väčšie ako 10
(X<=10) ak je x menšie, alebo rovné 10
(X>=10) ak je x väčšie, alebo rovné 10
(X<>10) ak je x rôzne od 10


Ešte viac možností nám podmienka poskytuje, ak budeme skladať jednoduché podmienky do zložitejších pomocou spojok logických výrazov. Tieto spojky sú AND, OR, NOT.


Nasledovná tabuľka ukazuje jednoduché príklady.

IF (X=10) AND (Y=X) THEN .. ak x=10 a zároveň y=x
IF (X<Y) OR (X=Y) THEN .. ak x<y alebo x=y
IF NOT (X=Y) THEN .. ak neplatí x=y


Kam ďalej: Obsah | Podmienené cykly REPEAT .. UNTIL, WHILE