Souhrnná úloha – Seznam produktů jako pole objektů

Site: Moodle ZČU
Course: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Book: Souhrnná úloha – Seznam produktů jako pole objektů
Printed by: Guest user
Date: Sunday, 18 October 2026, 4:55 AM

Table of contents

Úloha

Zadání (kontext úlohy):

Vytvoř program, který bude pracovat se seznamem produktů uložených v poli objektů. Program vypíše všechny produkty, následně vyfiltruje ty, které jsou skladem, a nakonec zobrazí průměrnou cenu všech dostupných produktů.


Cíl úlohy:

Procvičit práci s polem objektů, přístup k vlastnostem objektů, iteraci pomocí for...of a forEach, filtrování dat podle podmínky a základní výpočty z dat v poli.


Vstupní podmínky:
  • Student pracuje pouze se souborem script.js.

  • Výstup probíhá do konzole.

  • Nepoužívej metody vyššího řádu (map, filter, reduce) – pouze cykly.


Požadovaný výstup:
  1. Vytvoř pole produkty, které bude obsahovat alespoň 4 objekty. Každý objekt musí mít vlastnosti:

    • nazev (řetězec),

    • cena (číslo),

    • skladem (boolean).

  2. Pomocí cyklu for...of vypiš všechny produkty ve formátu:
    Název: Notebook | Cena: 18990 Kč | Skladem: true

  3. Pomocí dalšího cyklu vyfiltruj a vypiš pouze produkty, které mají skladem == true.

  4. Spočítej průměrnou cenu všech produktů skladem a vypiš ji zaokrouhlenou na celé číslo.


Doplňující pokyny:

  • Používej pouze let a const.

  • Nepoužívej šipkové funkce ani ternární operátor.

  • Vždy explicitně porovnávej hodnoty (if (podminka == true) a if (podminka == false)).

  • Přidej komentáře vysvětlující jednotlivé části.

Řešení úlohy

Co je zde splněno

  • Vytvořeno pole objektů produkty s vlastnostmi nazev, cena, skladem.

  • Výpis všech produktů pomocí cyklu for...of.

  • Vypsány pouze produkty s skladem == true.

  • Spočítán průměr cen produktů skladem (zaokrouhlený pomocí Math.round()).

  • Použit cyklus forEach() k výpočtu součtu a počtu produktů.

  • Výstup probíhá pouze do konzole.

  • Každý krok obsahuje komentář.

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

  • Použití template literálů (${}) pro přehlednější a elegantnější formátování výstupu.

  • Sloučení výpisu a výpočtu průměru do jednoho průchodu cyklem.

  • Kód je kratší, ale zachovává všechny požadavky zadání.

  • Stále bez šipek, bez ternárních operátorů, s přehlednými podmínkami.

Procvičené dovednosti:

  • Práce s polem objektů.

  • Iterace pomocí for...of a forEach().

  • Přístup k vlastnostem objektu pomocí tečkové notace.

  • Filtrování dat podle podmínky (if (skladem == true)).

  • Výpočet průměru ze součtu hodnot a jejich počtu.