Úloha 2 – Inkrementace a dekrementace – praktické příklady (část 2)
| Site: | Moodle ZČU |
| Course: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Book: | Úloha 2 – Inkrementace a dekrementace – praktické příklady (část 2) |
| Printed by: | Nepřihlášený host |
| Date: | Sunday, 18 October 2026, 1:18 PM |
Úvod do úlohy
V programování se velmi často setkáváme s potřebou „posunout“ hodnotu proměnné o jedna – typicky při procházení pole, v cyklech nebo při počítání něčeho. K tomu slouží speciální operátory inkrementace (++) a dekrementace (--). Díky nim nemusíme psát x = x + 1, ale můžeme jednoduše zapsat x++ nebo ++x. Na první pohled to vypadá stejně, ale pořadí operace (prefix vs. postfix) hraje velkou roli. Správné pochopení tohoto rozdílu je důležité, abychom předešli chybám v podmínkách nebo složitějších výrazech.
Teorie a principy
-
Inkrementace (
++) – zvýší hodnotu proměnné o 1. -
Dekrementace (
--) – sníží hodnotu proměnné o 1.
Oba operátory existují ve dvou formách:
-
Prefixová forma (
++xnebo--x)-
Nejprve se hodnota proměnné změní a pak se vrátí nová hodnota.
-
-
Postfixová forma (
x++nebox--)-
Nejprve se vrátí původní hodnota, a teprve potom se proměnná změní.
-
Praktické příklady kódu
Použití v cyklu:
Složitější výrazy:
Typické chyby / záludnosti
-
Záměna prefixu a postfixu: studenti často nerozliší, kdy se hodnota změní a kdy se vrací původní.
-
Používání v komplikovaných výrazech: kombinace
x++ + ++xvede k nepřehlednému kódu a obtížně předvídatelným výsledkům. -
Přílišná závislost na vedlejších efektech: doporučuje se
++a--používat hlavně samostatně nebo v cyklech, ne v těžko čitelných výrazech.
Shrnutí
-
++zvyšuje hodnotu o 1,--snižuje hodnotu o 1. -
Prefix (
++x): změní hodnotu a pak vrátí novou. -
Postfix (
x++): vrátí původní hodnotu a až poté proměnnou změní. -
Rozdíl se projeví zejména v kontextu složitějších výrazů a podmínek.
-
Pro čitelnost kódu je vhodné vyhnout se kombinování více inkrementací/dekrementací v jedné řádce.
Úloha
Zadání (kontext úlohy)
Chceme si vyzkoušet, jak se chová prefixová a postfixová forma operátorů ++ a --.
Pomocí jednoduchých příkladů zjistíme rozdíl mezi „nejdřív změnit“ a „nejdřív vrátit, pak změnit“.
Cíl úlohy
Procvičíš si práci s operátory inkrementace a dekrementace a naučíš se rozeznat rozdíl mezi prefixovou a postfixovou formou.
Vstupní podmínky
-
Pracuj pouze s nově vytvořeným souborem
script.js, který připojíš do HTML.
Požadovaný výstup
-
Vytvoř proměnnou
cislos libovolnou číselnou hodnotou. -
Vyzkoušej:
Sleduj rozdíl v chování a popiš ho do komentáře.
-
Vytvoř proměnné
xaytak, že doyuložíš výraz obsahující++xa do jiné proměnné výraz sx++.-
Výsledky vypiš do konzole a slovně okomentuj, co se stalo.
-
-
Přidej krátký cyklus
for, ve kterém použiješi++a zobrazíš postupné hodnoty.
Doplňující pokyny
-
Využívej
console.log()k porovnání výsledků. -
Nepiš více inkrementací/dekrementací v jednom výrazu, aby byl kód čitelný.
-
Pokud si nejsi jistý, přidej si k výpisům i textový komentář, co očekáváš.
Soubor
Řešení úlohy
Co je zde splněno:
-
Proměnná
cislos číselnou hodnotou, vyzkoušeny oba zápisy++cisloacislo++. -
Vysvětlen rozdíl pomocí přiřazení do
y(prefix) az(postfix). -
Přidán cyklus
for, kde se používái++a vypisují se hodnoty. -
console.log()výstupy jsou doplněné komentáři a texty, aby byl rozdíl jasně patrný.