Souhrnná úloha – Kavárna
| Stránky: | Moodle ZČU |
| Kurz: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Kniha: | Souhrnná úloha – Kavárna |
| Vytiskl(a): | Nepřihlášený host |
| Datum: | neděle, 18. října 2026, 07.34 |
Úloha
Zadání (kontext úlohy):
Napiš jednoduchý program pro kavárnu, který na základě volby uživatele vypíše odpovídající zprávu o objednávce. Uživatel si vybere číslo nápoje z nabídky, program podle něj pomocí konstrukce switch určí, co si zákazník objednal, a zobrazí cenu.
Cíl úlohy:
Procvičit konstrukci switch, práci s větvemi case a break, použití větve default, správné ukončení větvení a kombinaci jednoduché logiky s textovým výstupem.
Vstupní podmínky:
-
Student pracuje pouze se souborem
script.js. -
Program načítá číslo volby pomocí
prompt(). -
Použij
switchpro rozhodování podle čísla.
Požadovaný výstup:
-
Zobrazí nabídku nápojů:
- Káva
- Čaj
- Džus
- Voda
-
Uživatel zadá číslo (1–4).
-
Pomocí
switchprogram podle volby vypíše:-
název nápoje,
-
cenu,
-
krátkou zprávu potvrzující objednávku.
-
-
Pokud zadá jiné číslo nebo text, program vypíše chybovou hlášku pomocí větve
default.
Doplňující pokyny:
-
Používej pouze
letaconst. -
Nepoužívej šipkové funkce ani ternární operátor.
-
Každý
casezakonči příkazembreak;. -
Pro testování vyzkoušej různé vstupy (platné i neplatné).
Řešení úlohy
Co je zde splněno
-
Program zobrazuje nabídku nápojů (1–4).
-
Vstup načten pomocí
prompt(). -
Ověření číselné hodnoty pomocí
isNaN(volba) == true. -
Rozhodování realizováno pomocí konstrukce
switch. -
Každá větev obsahuje
break, aby se předešlo propadávání do dalších větví. -
Větev
defaultošetřuje neplatné volby. -
Použity pouze
letaconst, žádný ternární operátor ani šipkové funkce.
Vylepšení oproti začátečnické verzi
-
Kód je přehlednější – data (nápoj, cena) se ukládají do proměnných.
-
Přidána validace rozsahu (
volba < 1 || volba > 4). -
Použito
trim()pro odstranění mezer z uživatelského vstupu. -
Výpis je formátován do přehledného vícerádkového textu.
-
Kód zůstává srozumitelný, ale zároveň je flexibilnější (např. pro rozšíření nabídky).