Úloha 1 – Relační operátory: porovnávání čísel a textu

Stránky: Moodle ZČU
Kurz: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Kniha: Úloha 1 – Relační operátory: porovnávání čísel a textu
Vytiskl(a): Nepřihlášený host
Datum: neděle, 18. října 2026, 15.27

Úvod do úlohy

Relační operátory patří k úplným základům programování – umožňují nám porovnávat hodnoty a rozhodovat, zda jsou si rovné, nerovné, větší nebo menší. Bez nich bychom nedokázali psát podmínky, cykly ani větvení programu. Ať už kontrolujeme, jestli je číslo větší než 100, nebo jestli uživatel zadal správné heslo, relační operátory jsou vždy u toho. Proto je důležité nejen znát jejich zápis, ale také chápat, co přesně vracejí (vždy true nebo false) a jak fungují při práci s různými datovými typy.


Teorie a principy

  1. Základní relační operátory v JavaScriptu

    • Rovnost:

      • == (porovnává hodnotu, provádí typovou konverzi)

      • === (porovnává hodnotu i typ, tzv. „strict equality“)

    • Nerovnost:

      • != (nerovnost s konverzí)

      • !== (nerovnost bez konverze)

    • Porovnání velikosti:

      • > větší než

      • >= větší nebo rovno

      • < menší než

      • <= menší nebo rovno

  2. Výsledek porovnání

    • Každý relační operátor vrací logickou hodnotu (true nebo false).

    • To je klíčové – výraz lze přímo použít v if, while, apod.

  3. Porovnávání čísel a řetězců

    • U čísel probíhá porovnání přirozeně (např. 10 > 7 je true).

    • U řetězců se používá lexikografické uspořádání, tedy podle „slovníkového pořadí“.

      • Porovnává se znak po znaku podle Unicode hodnot.

      • Např. "apple" < "banana" → true.

      • Velká písmena mají jiné hodnoty než malá ("Zebra" < "apple" → true, protože Z má menší kód než a).


Praktické příklady kódu

Číselné porovnání

Rovnost a typy

Lexikografické porovnání


Typické chyby / záludnosti

  • Záměna == a === – == provádí typovou konverzi, což často vede k neočekávaným výsledkům. Proto se v praxi doporučuje používat vždy === a !==.

  • Lexikografické porovnání řetězců – studenti někdy očekávají „délkové“ porovnání (že delší řetězec je větší), ale rozhodující je pořadí znaků, ne délka.

  • Porovnání různých typů – např. 0 == false je true, ale 0 === false je false.

  • Velká vs. malá písmena – "A" < "a" je true, protože velké písmeno má nižší Unicode kód než malé.


Shrnutí

  • Relační operátory (==, ===, !=, !==, <, <=, >, >=) vracejí vždy true nebo false.

  • Rozdíl mezi == a === je v tom, zda dochází k typové konverzi.

  • U čísel se porovnává hodnota, u řetězců lexikografické pořadí znaků.

  • Nejčastější pasti: typová konverze (==), lexikografické vs. délkové porovnávání a rozdíly mezi velkými a malými písmeny.

Úloha

Zadání (kontext úlohy)

Představ si, že program dostane hodnotu od uživatele a musí ověřit, zda splňuje určitá pravidla.
Pomocí relačních operátorů zjistíš, jestli číslo spadá do povoleného intervalu a jestli zadaný text odpovídá očekávání.


Cíl úlohy

Procvičíš si použití relačních operátorů v jednoduchých podmínkách a ověříš různé vstupy.


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


Požadovaný výstup
  1. Do proměnné ulož číslo a ověř, zda leží v intervalu 1–10 (včetně krajních hodnot).

    • Výsledek vypiš do konzole (console.log()):

      • Pokud je podmínka splněna → „Podmínka splněna“

      • Jinak → „Podmínka nesplněna“.

  2. Do jiné proměnné ulož text a ověř, zda se přesně rovná slovu "OK" (použij ===).

    • Výsledek opět vypiš stejným způsobem.

  3. Přidej ještě jeden příklad, kde se porovnává délka textu (pomocí .length) s číslem.

    • Například zjisti, jestli délka zadaného jména je větší než 5 znaků.


Doplňující pokyny
  • Používej console.log() k výpisu všech výsledků.

  • Pokud výsledek bude true, vypiš „Podmínka splněna“, jinak „Podmínka nesplněna“.

  • Dávej pozor na rozdíl mezi == (porovnání s přetypováním) a === (striktní porovnání typů i hodnot).

Řešení úlohy

Co je zde splněno

  • Do proměnné je uloženo číslo a ověřeno, zda leží v intervalu 1–10 (včetně).

  • Do jiné proměnné je uložen text a přesně porovnán s hodnotou "OK" pomocí ===.

  • Přidán příklad porovnání délky textu s číslem (.length).

  • Výsledek všech podmínek je vypsán do konzole formou „Podmínka splněna“ / „Podmínka nesplněna“.

Poznámky

  • Operátor === kontroluje nejen hodnotu, ale i typ – proto je vhodnější než ==.

  • U číselného intervalu je použita kombinace operátorů >= a <= spolu s logickým &&.