Ú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
returnvrací automatickyundefined.
-
-
Ř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í.
-
returnslouží k předání výsledku zpět. -
Funkce bez
returnvrací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:
-
Vytvoř funkci s názvem
prevedNaCas, která přijme jeden parametr – celkový počet minut. -
Funkce má spočítat, kolik je to hodin a zbylých minut.
-
Funkce má vrátit textový řetězec ve formátu např.
"2 hodiny a 15 minut". -
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.floorpro 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".