2. Podmíněné příkazy, příkazy cyklu

  1. Podmíněné příkazy – Příkaz IF, příkaz CASE ; Příkazy cyklu – příkaz FOR, příkaz WHILE, příkaz REPEAT
    Podmíněné příkazy
    Podmíněné příkazy fungují tak, že se vyhodnotí vstupní podmínka a pokud je splněna (TRUE) tak se vykoná určitá část programu.

Příkaz IF – podmínka

Tvoření

IF podmínka THEN příkaz1 ELSE příkaz2;

Jestliže je splněna podmínka, potom vykonej příkaz1 jinak vykonej příkaz2.
Všimněte si, že je středník (oddělovač příkazů) až na konci příkazu, to proto, že jde o jeden celistvý příkaz.
Druhou část ELSE je možné vynechat, pak to znamená, že při splnění podmínky je vykonaný příkaz1, jinak se neděje nic.
Konkrétní příklady:

if a>b then label1.caption:=’první číslo je větší‘ else label1.caption:=’druhé číslo je větší‘;

(jestliže proměnná a je větší než proměnná b vypiš do label1 text: první číslo je větší, jinak tam vypiš, že druhé číslo je větší (a co když budou stejná :-)?))

if edit1.text=’0′ then edit2.text=’zadej větší číslo než nulu‘

(jestliže je v edit1 nula potom vypiš do edit2 text zadej větší číslo než nulu.

Jako operátory je možné použít například < , > , >= , <= , <> .

Příkaz CASE – podmínky

Tvoření

CASE proměnná(výraz) OF hodnota1:příkaz1;

hodnota2:příkaz2;

hodnota3:příkaz3;

.

.

hodnota n:příkaz n;

ELSE příkaz;

End;

Za CASE se píše proměnná(výraz), který určí jistou hodnotu
Za OF se píše seznam možných hodnot a příkazy, které se mají vykonat pro každou určitou hodnotu
Za ELSE se píše příkaz, který se vykoná, pokud se hodnota proměnné(výrazu) neshoduje se žádnou hodnotou se seznamu možných hodnot
Funguje to tak že Delphi zjistí jaká hodnota je uložena v proměnné a pokud je to hodnota1 tak se vykoná příkaz1 pokud hodnota2 tak se vykoná příkaz2 atd. Pokud žádná hodnota neodpovídá, vykoná se příkaz za slovem ELSE. Opět platí, že pokud se má např. u hodnoty1 vykonat pouze jeden příkaz můžou se klíčová slova begin a end vynechat:
Příkazy cyklu

Umožňují po určitou dobu opakovat určitý počet příkazů. Dělí se na tři typy:

s pevným počtem opakování (FOR)
s podmínkou na začátku (WHILE)
s podmínkou na konci (REPEAT)

Příkaz FOR

Tvoření

FOR proměnná:=výraz1 TO(downto) výraz2 DO příkaz;

Příkaz FOR je cyklus s předem známým počtem opakování
Příkazy cyklu za DO se vykonávají opakovaně pro každou hodnotu řídící proměnné
Proměnná nabývá postupně všech hodnot mezi prvním a druhým výrazem a zvětšuje se vždy o jedničku
Je li na začátku výraz1 větší než výraz2, příkazy za DO se nevykonají ani jednou
DOWNTO – pracuje opačně, hodnota proměnné se postupně zmenšuje
Příkaz WHILE – s podmínkou na začátku

Tvoření

WHILE podmínka DO příkaz;

Je to cyklus s podmínkou na začátku
Podmínka za WHILE rozhoduje o provedení příkazu za DO
Pokud podmínka platí (TRUE) příkaz se vykonává a znovu se začne vyhodnocovat podmínka. Ale pokud podmínka neplatí (FALSE), příkaz se nevykoná ani jednou a celý cyklus končí.
Na rozdíl od REPEAT se příkaz WHILE nemusí provést ani jednou
Příkaz REPEAT – s podmínkou na konci

Tvoření

REPEAT příkazy UNTIL podmínka;

Cyklus s podmínkou na konci
Podmínka za UNTIL rozhoduje o zopakování příkazů mezi REPEAT a UNTIL
Pokud podmínka za UNTIL neplatí (FALSE), příkazy se vykonávají znovu
Pokud podmínka za UNTIL platí (TRUE), příkazy se nevykonají a celý cyklus končí.
Mezi REPEAT a UNTIL lze zapsat několik příkazů
Příkazová část se vykonává alespoň jednou.