Úloha 3 – Převod času

Website: Moodle ZČU
Kurs: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Buch: Úloha 3 – Převod času
Gedruckt von: Nepřihlášený host
Datum: Sonntag, 18. Oktober 2026, 19:50

Úvod do úlohy

Funkce nejsou jen pevně napsané bloky kódu – jejich síla spočívá v tom, že umí pracovat s vstupy (parametry) a vracet zpět výstupy (návratové hodnoty). Díky tomu se stejná funkce stává univerzálním nástrojem, který můžeme použít v mnoha různých situacích. Pokud bychom funkce psali bez parametrů a návratových hodnot, museli bychom stále dokola přepisovat podobný kód. Parametry umožňují funkci pracovat s libovolnými daty a return nám dává možnost výsledek předat dál – buď do jiné funkce, nebo do proměnné, kterou pak můžeme dále používat.


Teorie a principy

  • Parametry funkce:

    • zapisují se do kulatých závorek za názvem funkce,

    • fungují jako proměnné, do kterých při volání vložíme konkrétní hodnoty (argumenty).

  • Argumenty:

    • jsou hodnoty, které funkci při volání předáme,

    • jejich pořadí musí odpovídat pořadí parametrů.

  • Návratová hodnota:

    • zapisuje se pomocí return,

    • ukončí vykonávání funkce a předá zpět výsledek,

    • funkce bez return vrací automaticky undefined.

  • Řetězení funkcí: návratovou hodnotu jedné funkce lze předat jiné funkci nebo uložit do proměnné pro další práci.


Praktické příklady kódu

1. Funkce s jedním parametrem a návratovou hodnotou

2. Funkce s více parametry

3. Předání návratové hodnoty dál


Typické chyby / záludnosti

  • Záměna parametru a argumentu – parametr je v definici (function mojeFunkce(x)), argument je konkrétní hodnota při volání (mojeFunkce(5)).

  • Zapomenutý return – funkce sice něco vypočítá, ale nic nevrátí.

  • Přehozené pořadí argumentů – funkce bere argumenty podle pořadí, nikoli podle jména.

  • Zaměnění lokální a globální proměnné – parametr žije jen uvnitř funkce, ven se dostane pouze přes return.

  • Příliš mnoho úkolů v jedné funkci – funkce by měla mít jasně vymeřený účel.


Shrnutí – hlavní body k zapamatování

  • Parametry = vstupy funkce, argumenty = konkrétní hodnoty při volání.

  • return slouží k předání výsledku zpět.

  • Funkce bez return vrací undefined.

  • Návratovou hodnotu můžeme uložit do proměnné nebo předat jiné funkci.

  • Správné pořadí argumentů je zásadní.

Úloha

Zadání (kontext úlohy):

Představ si, že máš seznam různých délek filmů v minutách. Bylo by nepraktické pořád ručně počítat, kolik je to hodin a minut. Pomůže nám funkce, která to zvládne za nás.


Cíl úlohy:

Procvičit práci s parametrem a návratovou hodnotou, která není jen číslo, ale textový řetězec.


Vstupní podmínky:

Student pracuje pouze s nově vytvořeným souborem script.js.


Požadovaný výstup:
  1. Vytvoř funkci s názvem prevedNaCas, která přijme jeden parametr – celkový počet minut.

  2. Funkce má spočítat, kolik je to hodin a zbylých minut.

  3. Funkce má vrátit textový řetězec ve formátu např. "2 hodiny a 15 minut".

  4. Zavolej funkci alespoň třikrát s různými vstupy a výsledek vypiš do konzole.


Doplňující pokyny:
  • Pro výpočet hodin použij celočíselné dělení (Math.floor).

  • Pro výpočet zbytku minut použij operátor % (modulo).

  • Funkce má vracet text, nikoli jen číslo.

Řešení úlohy

Co je zde splněno

  • funkce přijímá parametr celkoveMinuty,

  • použit Math.floor pro výpočet hodin,

  • použit operátor % pro zbytek minut,

  • funkce vrací textový řetězec, ne jen číslo,

  • funkce je volána třikrát a výsledky se vypisují do konzole.

Vylepšení oproti začátečnické verzi

  • použití šipkové funkce (=>),

  • využití šablonového řetězce (`${}`), díky kterému je kód čitelnější a přehlednější,

  • kratší zápis bez mezivýsledků v proměnných mimo funkci.

Poznámky

  • V řešení není řešeno skloňování („1 hodina“ vs. „2 hodiny“), to by byl rozšiřující úkol.

  • Pokud zadáš 0, funkce vrátí "0 hodiny a 0 minut".