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

Table of contents

Ú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:
  1. Uživatel zadá svůj věk.

  2. Program ověří, že vstup je číselný (pomocí isNaN() a if (hodnota == true) / if (hodnota == false)).

  3. 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.“

  4. Pokud uživatel nezadá platné číslo, zobrazí se upozornění „Zadej platný věk!“.


Doplňující pokyny:
  • Používej pouze let a const.

  • 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 let a const, 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.“

  • abc nebo prázdný vstup → „Zadej platný věk!“

  • -5 → „Zadej kladné číslo!“