2. 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.