Úloha 4 – Operátor modulo (%) – sudá a lichá čísla
Ú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 % bvrací zbytek po celočíselném dělení číslaačíslemb. -
Příklad:
10 % 3 = 1, protože10 = 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 % 0jeNaN. -
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 % 0je neplatná operace → výsledkem jeNaN.