Úloha 1 – Inkrementace a dekrementace – prefix vs. postfix
| Site: | Moodle ZČU |
| Course: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Book: | Úloha 1 – Inkrementace a dekrementace – prefix vs. postfix |
| Printed by: | Nepřihlášený host |
| Date: | Sunday, 18 October 2026, 1:18 PM |
Úvod do úlohy
Bez aritmetiky by žádný program nebyl úplný. Potřebujeme sčítat, odčítat, násobit, dělit a pracovat se zbytkem po dělení. Tyto operace patří mezi vůbec nejčastější, a proto je nezbytné, aby jim studenti rozuměli do hloubky. V JavaScriptu je práce s aritmetickými operátory na první pohled jednoduchá – ale skrývá v sobě i některé záludnosti, zejména proto, že stejný operátor + slouží jak pro sčítání čísel, tak pro spojování řetězců. Porozumění těmto nuancím je klíčem k psaní spolehlivého kódu.
Teorie a principy
JavaScript nabízí pět základních aritmetických operátorů:
-
+… sčítání (nebo konkatenace řetězců) -
-… odčítání -
*… násobení -
/… dělení (vrací desetinné číslo, není to celočíselné dělení) -
%… zbytek po dělení (modulo)
Chování + závisí na typu operandů:
-
Pokud jsou oba operandy čísla → provede se sčítání.
-
Pokud je alespoň jeden operand řetězec → provede se spojení řetězců (string concatenation).
Příklady:
-
2 + 3→5 -
"2" + 3→"23" -
2 + "3"→"23"
Další operátory (-, *, /, %) se snaží své operandy převést na čísla. Pokud převod selže, výsledkem je NaN (Not a Number).
Praktické příklady kódu
Typické chyby / záludnosti
-
Neočekávaná konkatenace:
5 + "5"vrací"55", ne10. To je častý zdroj nedorozumění. -
Zbytek po dělení se zápornými čísly:
-10 % 3vrací-1(znaménko se řídí podle levého operandu). -
Dělení nulou:
5 / 0vracíInfinity(ne vyvolání chyby). -
NaN při špatném převodu:
10 - "abc"vracíNaN.
Shrnutí
-
V JavaScriptu máme základní operátory:
+,-,*,/,%. -
Operátor
+funguje jak pro sčítání čísel, tak pro spojování řetězců. -
Ostatní operátory pracují jen s čísly a při nevhodném typu operandů vracejí
NaN. -
Pozor na speciální situace: dělení nulou (
Infinity), zbytek u záporných čísel, nechtěnou konkatenaci.
Úloha
Zadání (kontext úlohy)
Pracuj v novém souboru script.js a postupně splň všechny části úlohy:
Část 1 – Jednoduchá inkrementace
-
Vytvoř proměnnou
cislo = 10. -
Pomocí
++ji zvyš o 1:-
prefixově (
++cislo) -
postfixově (
cislo++)
-
-
Vypiš výsledky do konzole, abys viděl rozdíl.
Část 2 – Postfix vs. prefix ve výrazu
Vyzkoušej tento kód a vysvětli rozdíl:
-
Do komentářů napiš, proč
badmají rozdílné hodnoty.
Část 3 – Inkrementace v podmínce
Použij tento kód:
-
Vysvětli, proč se vypíší právě ty hodnoty, které uvidíš.
-
Poté změň
i++na++ia sleduj rozdíl.
Cíl úlohy
-
Naučíš se používat inkrementaci a dekrementaci.
-
Pochopíš rozdíl mezi prefixovou a postfixovou variantou.
-
Dokážeš vysvětlit, jak se tento rozdíl projeví ve výrazech a podmínkách.
Vstupní podmínky
-
Pracuj s novým souborem
script.js.
Požadovaný výstup
-
V konzoli budou viditelné výsledky pro prefixovou i postfixovou variantu.
-
V komentářích bude slovně popsán rozdíl v chování.
-
Pochopíš, jak operátory
++a--ovlivňují pořadí vyhodnocení ve výrazech.
Řešení úlohy
Co je zde splněno:
-
Část 1 ukazuje rozdíl mezi prefixem a postfixem u
++a--. -
Část 2 jasně vysvětluje chování při přiřazení do jiné proměnné.
-
Část 3 předvádí praktický rozdíl v podmínce cyklu
while. -
Ke každému případu jsou připojeny komentáře s vysvětlením.