Operatory logiczne: AND, OR, NOT
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
- Użycie operatora
&&(AND - koniunkcja). - Użycie operatora
||(OR - alternatywa). - Użycie operatora
!(NOT - negacja). - Grupowanie warunków nawiasami
().
Opis operatorów
1. AND (&&) - I
Zwraca true tylko wtedy, gdy WSZYSTKIE warunki są spełnione.
true && true->truetrue && false->falsefalse && 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->truefalse || 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ę?".
- Zdefiniuj zmienne:
wiek(liczba)maZgodeRodzicow(boolean)maWlasnePieniadze(boolean)cenaGry(liczba)oszczednosci(liczba)
- Gra jest dozwolona od lat 18.
- Warunek kupna:
- ((Wiek >= 18) LUB (ma zgodę rodziców))
- ORAZ
- (Oszczędności >= cena gry)
- Wypisz odpowiedni komunikat ("Możesz kupić grę" / "Nie możesz kupić gry").
- 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.