Kurz algoritmizace a programování v jazyce C Lekce č. 7: Podmínky (if, switch) Bc. Radek Libovický
Logická hádanka Obžalovaný stojí u soudu a je odsouzen k trestu smrti. Jeho obhájci se však nakonec podaří vyjednat následující podmínku: "Můžete říci jednu oznamovací větu na svou obranu. Pokud nám zalžete, tak Vás oběsíme. Pokud řeknete pravdu, tak Vás zastřelíme." Co obžalovaný řekne, aby si zachránil život? Odpověď na konci prezentace
Tvorba LOGICKÉHO výrazu Logické výrazy mohou obsahovat tyto operátory: == rovnost (c==‘A‘) != nerovnost (c!=7) < menší (c<7) > větší (c>6) >= větší nebo rovno (c>=3) <= menší nebo rovno (c<=12) ! negace výrazu (!(c==14)) Logické výrazy lze skládat pomocí: && AND – a současně ((c>6) && !(c==12)) || OR – nebo ((c<=6) || (c==28))
Podmínka - if Větvení programu: Zápis podmínky if: Používá se v situaci, kdy je potřeba, aby se program choval rozdílně v závislosti na vyhodnocené podmínce Zápis podmínky if: //část programu, který vypisuje větší číslo ze dvou načtených if(a>b); //vyhodnocení podmínky (v tomto případě a>b) { //blok příkazů pro situaci, kdy je a větší než b printf("%d",a); //výpis proměnné a, protože je větší než b } //konec bloku else // nepovinná část podmínky if s blokem, který se má vykonat v případě nesplněné podmínky {//blok příkazů pro situaci, kdy je b větší než a printf("%d",b); //výpis proměnné b, protože je větší než a
Další příklad podmínky - if Program na rozeznání sudého či lichého čísla:
Vícenásobná podmínka switch Používá se v situaci, když se program rozsáhle větví a kód by se využíváním podmínky if stal velmi nepřehledným Zápis vícenásobné podmínky switch: Switch přijímá jako vstupní parametr zadanou proměnnou. Dle hodnoty v proměnné proběhne skok na case, který má shodnou hodnotu. Pokud takový case není, proběhne skok na default. Příkaz break způsobí skok ven z těla switche a program pokračuje dál.
Odpověď na logickou hádanku "Určitě mě oběsíte"