Ú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é if bloky,

  • 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 if uvnitř else, i když stačí použít else 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 if umožň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 else můž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é teplota ulož 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á teplota s čí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.