Ú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.