Souhrnná úloha – Rozhodování podle vstupu uživatele
| Site: | Moodle ZČU |
| Course: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Book: | Souhrnná úloha – Rozhodování podle vstupu uživatele |
| Printed by: | Invitado |
| Date: | Sunday, 18 October 2026, 9:58 AM |
Úloha
Zadání (kontext úlohy):
Napiš jednoduchý program, který podle věku uživatele rozhodne, jaký má přístup – například na koncert, do kina nebo k určité službě. Program bude vyhodnocovat různé věkové kategorie a podle nich vypíše odpovídající zprávu.
Cíl úlohy:
Procvičit použití podmínek if, else if, else, logických a relačních operátorů, správné vyhodnocování více úrovní podmínek a rozklad složitějšího rozhodování do menších kroků.
Vstupní podmínky:
-
Student pracuje pouze se souborem
script.js. -
Věk uživatele se získává přes
prompt(). -
Ověř, že vstup je číslo – pokud ne, zobraz upozornění.
Požadovaný výstup:
-
Uživatel zadá svůj věk.
-
Program ověří, že vstup je číselný (pomocí
isNaN()aif (hodnota == true)/if (hodnota == false)). -
Podle věku vypíše jednu z variant:
-
méně než 13 let → „Vstup není povolen.“
-
13–17 let → „Vstup s doprovodem dospělé osoby.“
-
18–64 let → „Vstup povolen.“
-
65 a více → „Vstup zdarma.“
-
-
Pokud uživatel nezadá platné číslo, zobrazí se upozornění „Zadej platný věk!“.
Doplňující pokyny:
-
Používej pouze
letaconst. -
Nepoužívej ternární operátor.
-
Po každé větvi podmínky přidej komentář s vysvětlením, co dělá.
-
Pro testování zkus zadat různé hodnoty věku.
Řešení úlohy
Co je zde splněno
-
Věk je načten pomocí
prompt(). -
Hodnota je převedena na číslo pomocí
Number(). -
Správnost vstupu je ověřena pomocí
isNaN(vek) == true. -
Použity všechny požadované větve
if / else if / else. -
Každá větev obsahuje komentář vysvětlující, co dělá.
-
Výstup odpovídá zadání:
-
< 13→ „Vstup není povolen.“ -
13–17→ „Vstup s doprovodem dospělé osoby.“ -
18–64→ „Vstup povolen.“ -
65+→ „Vstup zdarma.“
-
-
Kód používá pouze
letaconst, bez ternárních operátorů.
Vylepšení oproti začátečnické verzi
-
Ošetření prázdného vstupu (
vstup == "") a záporných čísel. -
Použití
trim()k odstranění případných mezer. -
Kód je kompaktnější, ale zachovává srozumitelnost.
-
Používá moderní konstrukce (
const,?.trim()), ale bez šipkových funkcí či zkrácených podmínek.
Doporučení pro testování
Vyzkoušej následující vstupy:
-
10→ „Vstup není povolen.“ -
15→ „Vstup s doprovodem dospělé osoby.“ -
25→ „Vstup povolen.“ -
70→ „Vstup zdarma.“ -
abcnebo prázdný vstup → „Zadej platný věk!“ -
-5→ „Zadej kladné číslo!“