Úloha 3 – Řízení toku programu pomocí podmínek
| Site: | Moodle ZČU |
| Course: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Book: | Úloha 3 – Řízení toku programu pomocí podmínek |
| Printed by: | Gast |
| Date: | Sunday, 18 October 2026, 4:36 AM |
Úvod do úlohy
V předchozích cvičeních jste si vyzkoušeli jednoduché podmínky i složitější logické výrazy. Často ale nastane situace, kdy nestačí rozhodovat jen mezi dvěma možnostmi „ano/ne“. Potřebujeme vybrat jednu z více variant – například určit známku podle počtu bodů nebo zobrazit zprávu podle zadaného věku. V takových případech je nevhodné psát do sebe zanořené if bloky, protože kód rychle ztrácí přehlednost. Místo toho je lepší použít konstrukci else
if, která umožní testovat více podmínek na stejné úrovni.
Teorie a principy
-
if– testuje první podmínku. -
else if– testuje další podmínku, pokud předchozí nebyla pravdivá. Lze jich použít několik za sebou. -
else– zachytí všechny zbývající případy, pokud žádná podmínka výše nebyla splněna.
Výhody použití else if:
-
kód je přehlednější než zanořené
ifbloky, -
podmínky se vyhodnocují postupně, a jakmile je jedna pravdivá, ostatní se už nekontrolují,
-
snadněji se přidávají nebo mění další větve rozhodování.
Praktické příklady kódu
1. Známkování pomocí else if:
2. Porovnání s vnořeným if (méně přehledné):
Typické chyby / záludnosti
-
Zbytečné vnořování if: studenti mají tendenci psát
ifuvnitřelse, i když stačí použítelse if. -
Nepřesně seřazené podmínky: pořadí větví je důležité. Jakmile se splní jedna podmínka, ostatní se už nekontrolují. Pokud byste například dali
if (body >= 60)hned na začátek, nikdy by se kód pro 90+ bodů nespustil. -
Chybějící else: není povinné, ale často je dobré mít „záchytnou“ větev pro všechny ostatní případy.
Shrnutí
-
Konstrukce
else ifumožňuje testovat více podmínek na stejné úrovni. -
Zlepšuje čitelnost a údržbu kódu oproti vnořeným podmínkám.
-
Podmínky se vyhodnocují shora dolů, první splněná ukončí další testování.
-
Část
elsemůže sloužit jako výchozí varianta, pokud neplatí žádná z předchozích podmínek.
Úloha
Zadání (kontext úlohy):
Představ si, že píšeš program, který poradí, co si vzít na sebe podle aktuální teploty. Uživatel zadá číslo a program rozhodne, zda je vhodná bunda, tričko nebo třeba kraťasy.
Cíl úlohy:
Procvičit použití více větví podmínek pomocí if – else if – else.
Vstupní podmínky:
-
Student pracuje pouze s nově vytvořeným souborem
script.js. -
Do proměnné
teplotaulož libovolnou číselnou hodnotu (např. ve stupních Celsia).
Požadovaný výstup:
-
Pokud je
teplota <= 0→alert("Venku mrzne, vezmi si zimní bundu.") -
Pokud je
teplota > 0 && teplota <= 15→alert("Je chladno, vezmi si mikinu.") -
Pokud je
teplota > 15 && teplota <= 25→alert("Pohodové počasí, stačí tričko.") -
Pokud je
teplota > 25→alert("Je horko, obleč si kraťasy.")
Doplňující pokyny:
-
Pořadí podmínek je důležité – začni od nejnižší hodnoty.
-
Otestuj různé vstupní hodnoty, abys viděl, která větev se spustí.
-
Větve musí být na stejné úrovni, ne zanořené do sebe.
Řešení úlohy
Co je zde splněno
-
Vytvořena proměnná
teplotas číselnou hodnotou.
-
Podmínky jsou zkrácené (není nutné znovu psát dolní hranice).
-
Použita proměnná
zprava, což zpřehledňuje kód a usnadňuje rozšíření. -
Poslední větev je řešena jednoduše
else, protože zbývá jediná možnost.
Poznámky
Je dobré otestovat hodnoty jako
0,15,25, aby bylo jasné, že patří do správného intervalu.Větev
else if (teplota > 25)by mohla být i prostéelse, protože jde o poslední možnost.