Úloha 2 – Použití logických a relačních operátorů v podmínkách
| Sitio: | Moodle ZČU |
| Curso: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Libro: | Úloha 2 – Použití logických a relačních operátorů v podmínkách |
| Imprimido por: | Nepřihlášený host |
| Día: | domingo, 18 de octubre de 2026, 07:34 |
Úvod do úlohy
Jednoduché podmínky jsou skvělým startem, ale v reálných programech málokdy rozhodujeme jen podle jedné proměnné. Často potřebujeme kombinovat více testů dohromady – například kontrolovat věk uživatele a současně i to, zda zadal správné heslo. Právě k tomu slouží relační a logické operátory, díky nimž můžeme vytvářet složitější výrazy. Ty se pak vyhodnotí vždy na true (pravda) nebo false (nepravda), a podle toho se program rozhodne, který kód spustí.
Teorie a principy
Relační operátory porovnávají hodnoty:
-
>– větší než -
<– menší než -
>=– větší nebo rovno -
<=– menší nebo rovno -
===– rovnost hodnoty i typu (striktní porovnání) -
!==– nerovnost hodnoty nebo typu
Logické operátory pak umožňují kombinovat více podmínek:
-
&&– logické A (obě podmínky musí být pravdivé) -
||– logické NEBO (stačí, aby jedna podmínka byla pravdivá)
Při vyhodnocování se vždy dostaneme k výsledku true nebo false, i když je výraz složitější. To je důležité – podmínky v if nikdy nevrací číslo nebo text, ale vždy jen pravdu nebo nepravdu.
Praktické příklady kódu
1. Kontrola věku pomocí relačních operátorů:
2. Kombinace podmínek pomocí &&:
3. Použití || (NEBO):
4. Použití !== (nerovnost):
Typické chyby / záludnosti
-
Záměna
==a===: operátor==porovnává jen hodnotu, zatímco===navíc i datový typ. Proto může být výsledek odlišný. Doporučuje se vždy používat===a!==. -
Zapomenuté závorky při složitějších výrazech: pokud kombinujete
&&a||, je lepší výrazy uzavřít do závorek, aby bylo jasné, co se vyhodnocuje dříve. -
Přehnaně složité podmínky: když podmínka obsahuje příliš mnoho logických operátorů, kód se hůře čte. V takových případech je lepší rozdělit logiku do více kroků.
-
Očekávání jiného výsledku než true/false: studenti si někdy myslí, že podmínka vrací například číslo. Vždy je to ale jen pravda nebo nepravda.
Shrnutí
-
Relační operátory slouží k porovnávání čísel a textů (
>,<,===,!==…). -
Logické operátory kombinují podmínky (
&&pro A,||pro NEBO). -
Výsledkem každé podmínky je vždy
truenebofalse. -
Pozor na čitelnost: složité podmínky je dobré rozdělit do více kroků nebo použít závorky.
-
Doporučené je používat
===a!==, aby nedocházelo k neočekávaným výsledkům.
Úloha
Zadání (kontext úlohy):
Uživatel chce cestovat do města. Tvůj program vyhodnotí, jaký dopravní prostředek mu doporučí – záleží na tom, jak daleko město je a kolik má uživatel peněz.
Cíl úlohy:
Procvičit kombinaci podmínek s logickými operátory && (A), || (NEBO) a relačními operátory (>, <, >=).
Vstupní podmínky:
-
Student pracuje pouze s nově vytvořeným souborem
script.js. -
Vytvoř dvě proměnné:
-
vzdalenost(v kilometrech, číslo) -
penize(částka v Kč, číslo)
-
Požadovaný výstup:
-
Pokud je
vzdalenost < 3→alert("Doporučuji jít pěšky.") -
Pokud je
vzdalenost >= 3 && vzdalenost <= 20 && penize >= 30→alert("Můžeš jet autobusem.") -
Pokud je
vzdalenost > 20 && penize >= 100→alert("Můžeš jet vlakem.") -
Pokud nejsou splněny žádné podmínky →
alert("Na cestu nemáš dost peněz.")
Doplňující pokyny:
-
Mysli na pořadí podmínek – nejjednodušší (pěšky) kontroluj jako první.
-
U složitějších výrazů s více podmínkami nezapomeň na závorky pro přehlednost.
-
Zkus otestovat různé kombinace vzdálenosti a peněz.
Řešení úlohy
Co je zde splněno
-
Deklarace a inicializace proměnných
vzdalenostapenize. -
Použití logických operátorů
&&(A) a relačních operátorů<,>,>=. -
Správné pořadí podmínek – nejdříve jednoduchá možnost (pěšky), pak dražší varianty.
-
Vždy se zobrazí pouze jedna zpráva podle splněné podmínky.
Poznámky
Závorky kolem složených výrazů zvyšují čitelnost.
Je dobré testovat různé hodnoty, např.
vzdalenost = 2, penize = 0(výsledek: pěšky), nebovzdalenost = 25, penize = 50(výsledek: nemáš dost peněz).