Úloha 4 – Operátor modulo (%) – sudá a lichá čísla

Site: Moodle ZČU
Course: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Book: Úloha 4 – Operátor modulo (%) – sudá a lichá čísla
Printed by: Guest user
Date: Sunday, 18 October 2026, 9:59 AM

Úvod do úlohy

Operátor modulo (%) patří k často používaným nástrojům při řešení reálných problémů. Nejde jen o „zbytek po dělení“, ale také o užitečný mechanismus pro rozhodování a opakující se vzory. Díky němu můžeme snadno detekovat sudost či lichost čísla, periodicky rotovat indexy v poli nebo vytvářet opakující se sekvence. Správné pochopení modula včetně jeho chování se zápornými čísly je zásadní pro to, aby kód fungoval spolehlivě a předvídatelně.


Teorie a principy

  • Základní chování:
    a % b vrací zbytek po celočíselném dělení čísla a číslem b.

  • Příklad:
    10 % 3 = 1, protože 10 = 3 * 3 + 1.

  • Znaménko výsledku:
    V JavaScriptu má výsledek stejné znaménko jako dělenec (levý operand).

    • 10 % 3 = 1

    • -10 % 3 = -1

    • 10 % -3 = 1

  • Použití v rozhodování:

    • Sudost: x % 2 === 0

    • Lichost: x % 2 !== 0

    • Cyklické indexování: index = (index + 1) % pole.length


Praktické příklady kódu

1) Sudá a lichá čísla

2) Cyklické indexování v poli

3) Modulo a záporná čísla

Pokud potřebujeme vždy kladný výsledek, můžeme použít úpravu:


Typické chyby / záludnosti

  • Předpoklad, že výsledek je vždy kladný: u záporných čísel to v JavaScriptu neplatí.

  • Záměna s celočíselným dělením: % nevrací podíl, ale zbytek.

  • Použití s nulou: x % 0 je NaN.

  • Nepochopení cykličnosti: studenti někdy řeší cyklické indexování složitými podmínkami místo jednoduchého index % délka.


Shrnutí

  • Operátor % vrací zbytek po dělení, se znaménkem podle dělence.

  • Typická použití: sudost/lichost, cyklické indexování, periodické vzory.

  • Výsledek není vždy kladný, proto je nutné opatrně pracovat se zápornými čísly.

  • x % 0 je neplatná operace → výsledkem je NaN.

Úloha

Zadání (kontext úlohy)

Chceme zjistit, jestli je číslo sudé nebo liché. K tomu můžeme použít operátor modulo %, který vrací zbytek po dělení.


Cíl úlohy

Procvičíš si použití operátoru % při práci s čísly a podmínkami.


Vstupní podmínky
  • Pracuješ pouze s nově vytvořeným souborem script.js.


Požadovaný výstup
  1. Do proměnné ulož libovolné celé číslo.

  2. Pomocí podmínky if zjisti, jestli je číslo sudé (zbytek po dělení 2 je 0) nebo liché.

  3. Výsledek vypiš do konzole (console.log()) ve formátu:

    • „Číslo X je sudé.“

    • „Číslo X je liché.“


Doplňující pokyny
  • Vyzkoušej program s několika různými čísly (kladnými i zápornými).

  • Dávej pozor na znaménko u záporných čísel – v JavaScriptu může být výsledek % záporný, proto může být užitečné pracovat s Math.abs(cislo % 2).

Řešení úlohy

Co je zde splněno

  • Do proměnné (pole) je uloženo několik celých čísel pro vyzkoušení.

  • Použit operátor % pro určení zbytku po dělení.

  • Použita podmínka if pro zjištění, zda je číslo sudé nebo liché.

  • Výsledek je vypsán do konzole ve správném formátu.

  • Ošetřena situace se zápornými čísly, aby vyhodnocení bylo konzistentní.

Poznámky

  • V JavaScriptu může být -5 % 2 === -1. Proto je vhodné použít úpravu (x % 2 + 2) % 2, aby výsledek zůstal vždy 0 nebo 1.

  • Pokud by se pracovalo jen s kladnými čísly, stačilo by jednoduše if (x % 2 === 0).