Úloha 2 – Fall-through vs. break – chování větvení

Stránky: Moodle ZČU
Kurz: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Kniha: Úloha 2 – Fall-through vs. break – chování větvení
Vytiskl(a): Nepřihlášený host
Datum: neděle, 18. října 2026, 15.54

Úvod do úlohy

V předchozích ukázkách jste viděli základní konstrukci switch. Aby ale fungoval správně a přehledně, je klíčové rozumět dvěma prvkům: break a default. Klíčové slovo break říká programu, že po vykonání jednoho case se má ze switch vyskočit a nepokračovat do dalších větví. Pokud break zapomeneme, dojde k tzv. propadávání (fall-through), kdy se vykonají i následující bloky. To může být někdy záměr, ale ve většině úloh je to spíše chyba. Vedle toho default představuje záchytnou větev, která se provede tehdy, když žádný case neodpovídá zadané hodnotě.

Teorie a principy

  • break:

    • Zastaví běh switch po dokončení odpovídající větve.

    • Pokud chybí, provede se i následující case blok(y), dokud nenarazíme na break nebo konec switch.

  • default:

    • Je volitelná větev.

    • Spustí se, když žádný case neodpovídá hodnotě výrazu.

    • Doporučuje se ji vždy používat jako „pojistku“, aby program nezůstal bez reakce.

Praktické příklady kódu

1. Switch bez break – nežádoucí propadávání:

 Výsledek: Pokud cislo == 2, spustí se nejprve "Dva", ale protože chybí break, pokračuje i "Tři" a "Jiná hodnota".


2. Správně použitý break:

 Výsledek: Pokud cislo == 2, spustí se pouze "Dva".


3. Ukázka default jako výchozí větve:

 Pokud hodnota není v žádném case, provede se větev default.

Typické chyby / záludnosti

  • Zapomenutý break – program spustí více větví než zamýšleno.

  • Chybějící default – pokud žádný case neodpovídá, program nezareaguje (ne vždy je to žádoucí).

  • Špatné typy hodnot – porovnání v switch je striktní (===), proto "1" se neshoduje s 1.

Shrnutí

  • break je nutné použít na konci každého case, jinak nastane propadávání.

  • default se spustí, pokud žádný case neodpovídá – funguje jako pojistka.

  • Správné používání break a default dělá switch přehledným a bezpečným pro údržbu.

Úloha

Zadání (kontext úlohy):

Napiš program, který podle čísla dne (1–3) zobrazí text. Připrav dvě verze:

  1. Switch bez break, kde dojde k propadávání.

  2. Switch se správně umístěným break, kde se spustí jen jedna větev.

Student uvidí, jak se chová stejná hodnota v obou případech.


Cíl úlohy:

Procvičit význam break a pochopit rozdíl mezi fall-through a normálním průchodem switch.


Vstupní podmínky:
  • Student pracuje pouze s nově vytvořeným souborem script.js.

  • Do proměnné den nastav hodnotu 1, 2 nebo 3 a sleduj rozdíly mezi oběma částmi kódu.


Požadovaný výstup:
  • Ve verzi bez break se při den = 2 spustí více větví po sobě.

  • Ve verzi se break se spustí pouze odpovídající větev.


Doplňující pokyny:
  • V obou verzích použij alert, ať je výsledek jasně vidět.

  • Přidej i větev default, aby byla vidět reakce na jiné hodnoty.

  • Porovnávání v switch je přísné (===).

Řešení úlohy

Co je zde splněno

  • Do proměnné den je uložen číselný údaj.

  • Dvě různé ukázky chování: bez break (propadávání) a s break (jen jedna větev).

  • Přidána větev default pro jiné hodnoty.

  • Výstup je řešen pomocí alert(), aby byl výsledek jasně vidět.

Poznámky

  • Pokud je den = 2 a kód nemá break, spustí se postupně Den 2, Den 3 a Jiný den.

  • Pokud je den = 2 a kód má break, spustí se pouze Den 2.

  • Díky tomu je dobře vidět rozdíl mezi „fall-through“ a běžným použitím switch.