Úloha 1 – Logické operátory &&, || a ! – kontrola přístupu
| Stránky: | Moodle ZČU |
| Kurz: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Kniha: | Úloha 1 – Logické operátory &&, || a ! – kontrola přístupu |
| Vytiskl(a): | Nepřihlášený host |
| Datum: | neděle, 18. října 2026, 13.20 |
Úvod do úlohy
Logické operátory patří k úplným základům programování, protože umožňují rozhodovat se podle více podmínek současně. Když chceme ověřit, zda je uživatel přihlášen a zároveň má správná oprávnění, nebo zda je číslo menší než 10 nebo větší než 100, bez logických operátorů bychom podobné situace jen těžko popsali. Jejich zvládnutí je proto klíčové pro tvorbu složitějších podmínek, které v reálných aplikacích potkáváme neustále – od validace formulářů po řízení herní logiky.
Teorie a principy
V JavaScriptu máme tři základní logické operátory:
-
&&(AND) – výsledkem jetrue, pokud oba výrazy jsou pravdivé. -
||(OR) – výsledkem jetrue, pokud alespoň jeden výraz je pravdivý. -
!(NOT) – výsledkem je opak hodnoty (ztruese stanefalsea naopak).
Každá logická operace vždy vrací hodnotu true nebo false. Díky tomu lze tyto operátory řetězit a vytvářet složené podmínky, které přesně popisují, co chceme ověřit.
Je dobré si uvědomit, že v JavaScriptu se do logických výrazů mohou zapojit i jiné hodnoty než jen true a false. Například číslo 0, prázdný řetězec "" nebo null se vyhodnotí jako falešné (tzv. falsy hodnoty), zatímco většina ostatních hodnot se bere jako pravdivé (truthy).
Praktické příklady kódu
1. Použití && (AND)
2. Použití || (OR)
3. Použití ! (NOT)
Typické chyby / záludnosti
-
Záměna
&&a||– studenti často mechanicky používají jeden operátor bez uvědomění si rozdílu (např. testují dvě podmínky pomocí OR, i když má být AND). -
Zapomínání na závorky – složitější výrazy je lepší jasně strukturovat závorkami, aby byla čitelnost jednoznačná.
-
Truthy a falsy hodnoty – někdy se studenti diví, proč
if ("0")vyhodnotí jako pravda (řetězec"0"je totiž truthy, i když číslo0je falsy). -
Negace
!dvakrát po sobě –!!hodnotase používá jako rychlý způsob převodu libovolné hodnoty na čistý boolean, ale začátečníci se často v zápisu ztrácí.
Shrnutí
-
Základní logické operátory jsou
&&,||a!. -
Vrací vždy hodnotu
truenebofalse. -
Slouží k tvorbě složených podmínek v kódu.
-
Pozor na truthy/falsy hodnoty a nutnost závorek ve složitějších výrazech.
Díky nim dokážeme modelovat složité logické situace, a proto je dobré je procvičit v různých kombinacích.
Úloha
Zadání (kontext úlohy)
Spravuješ jednoduchý systém, který rozhoduje, zda má uživatel přístup.
Přístup je povolen pouze tehdy, pokud je uživatel přihlášen a zároveň má roli „správce“.
Cíl úlohy
Procvičíš si použití logických operátorů &&, || a ! při práci s podmínkami.
Vstupní podmínky
-
Pracuješ pouze s nově vytvořeným souborem
script.js.
Požadovaný výstup
-
Vytvoř dvě proměnné:
-
prihlasen(boolean) – zda je uživatel přihlášen, -
role(řetězec) – role uživatele.
-
-
Pomocí podmínky ověř:
-
Pokud je přihlášen a jeho role je „správce“, vypiš:
Přístup povolen -
Pokud je přihlášen, ale není správce, vypiš:
Nemáš oprávnění -
Pokud není přihlášen, vypiš:
Musíš se přihlásit
-
Doplňující pokyny
-
Nezapomeň na rozdíl mezi
&&(logické AND) a||(logické OR). -
Použij
!pro kontrolu, zda uživatel není přihlášen. -
Pro přehlednost můžeš využít vnořené
ifneboelse ifbloky.
Řešení úlohy
Co je zde splněno
-
Vytvořeny proměnné
prihlasen(boolean) arole(řetězec). -
Použit operátor
!pro kontrolu, zda uživatel není přihlášen. -
Použito logické
&&pro ověření, že uživatel je přihlášen a zároveň má správnou roli. -
Výstupy odpovídají zadaným podmínkám.
Poznámky
Pořadí podmínek začíná nejdříve kontrolou
!prihlasen, aby se zbytečně neověřovala role nepřihlášeného uživatele.Alternativně by se daly podmínky napsat i jiným pořadím, ale guard clause (nejdřív odmítnutí) zvyšuje čitelnost.