Operatory logiczne: AND, OR, NOT

Javascript
Priorytet: Normalny Szkic

Zadanie 6.4: Operatory Logiczne - AND, OR, NOT

Wstęp

Życie rzadko jest proste. Często decyzje zależą od wielu czynników jednocześnie. Na przykład: "Pojadę na rower, JEŚLI (nie pada deszcz) ORAZ (mam wolny czas)". W programowaniu do łączenia warunków służą operatory logiczne.

Cel zadania

Zrozumienie i wykorzystanie operatorów logicznych do tworzenia złożonych warunków (złożonych z wielu zmiennych).

Wymagania techniczne

  1. Użycie operatora && (AND - koniunkcja).
  2. Użycie operatora || (OR - alternatywa).
  3. Użycie operatora ! (NOT - negacja).
  4. Grupowanie warunków nawiasami ().

Opis operatorów

1. AND (&&) - I

Zwraca true tylko wtedy, gdy WSZYSTKIE warunki są spełnione.

  • true && true -> true
  • true && false -> false
  • false && false -> false

Przykład: "Dostęp przyznany, jeśli masz login I hasło".

2. OR (||) - LUB

Zwraca true, gdy PRZYNAJMNIEJ JEDEN warunek jest spełniony.

  • true || false -> true
  • false || false -> false

Przykład: "Wejdziesz, jeśli masz bilet LUB zaproszenie".

3. NOT (!) - NIE

Odwraca wartość logiczną.

  • !true -> false
  • !false -> true

Przykład: "Jeśli NIE pada (!pada), to idziemy".

Kroki do wykonania

Stwórz plik logika.js.

Część A: AND (&&)

Wyobraź sobie system logowania.

let loginPodany = true;
let hasloPoprawne = true;
let kontoAktywne = false;

// Aby się zalogować, trzeba podać login, mieć dobre hasło I mieć aktywne konto
if (loginPodany && hasloPoprawne && kontoAktywne) {
    console.log("Zalogowano pomyślnie.");
} else {
    console.log("Błąd logowania.");
}

Zmień wartość kontoAktywne na true, aby zobaczyć sukces.

Część B: OR (||)

Wyobraź sobie sklep internetowy z darmową dostawą.

let kwotaZakupow = 150;
let maKuponPromocyjny = true;
let jestVIP = false;

// Darmowa dostawa, jeśli zakupy > 200 LUB masz kupon LUB jesteś VIP
if (kwotaZakupow > 200 || maKuponPromocyjny || jestVIP) {
    console.log("Darmowa dostawa przyznana!");
} else {
    console.log("Płacisz za dostawę.");
}

Część C: Złożone wyrażenia

Możemy łączyć operatory. Nawiasy są kluczowe dla ustalenia kolejności! Przykład: "Mogę iść na film, jeśli (jest weekend LUB mam urlop) ORAZ (mam pieniądze)".

let jestWeekend = false;
let mamUrlop = true;
let mamPieniadze = true;

if ((jestWeekend || mamUrlop) && mamPieniadze) {
    console.log("Idę do kina!");
} else {
    console.log("Zostaję w domu.");
}

Zadanie praktyczne

W pliku logika.js napisz system decyzyjny "Czy mogę kupić grę?".

  1. Zdefiniuj zmienne:
    • wiek (liczba)
    • maZgodeRodzicow (boolean)
    • maWlasnePieniadze (boolean)
    • cenaGry (liczba)
    • oszczednosci (liczba)
  2. Gra jest dozwolona od lat 18.
  3. Warunek kupna:
    • ((Wiek >= 18) LUB (ma zgodę rodziców))
    • ORAZ
    • (Oszczędności >= cena gry)
  4. Wypisz odpowiedni komunikat ("Możesz kupić grę" / "Nie możesz kupić gry").
  5. Przetestuj dla różnych wartości (np. lat 15, brak zgody, ale dużo pieniędzy -> powinno być "Nie").

[!IMPORTANT] Commit: Zadanie 6.4 - Logika.