Powtórka — prosta logika
Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 27 z 71.
Wyzwanie
ŁatwyWczytaj pięć wartości z wejścia: liczbę całkowitą age, liczbę całkowitą balance, ciąg znaków isStudent (o wartości "true" albo "false"), ciąg znaków hasPromoCode (o wartości "true" albo "false") oraz liczbę całkowit� itemPrice.
Przekonwertuj wartości ciągu znaków na wartości logiczne, porównując je z "true".
Sprawdź poniższe trzy warunki i wypisz wynik każdego z nich za pomocą var_dump(), każdy w nowej linii:
- Sprawdź, czy dana osoba kwalifikuje się do zniżki dla młodzieży: wiek jest mniejszy niż 25 AND osoba jest studentem
- Sprawdź, czy dana osoba może sobie pozwolić na zakup przedmiotu ze zniżką: saldo jest większe lub równe itemPrice OR (saldo wynosi co najmniej połowę itemPrice AND hasPromoCode ma wartość true)
- Sprawdź, czy dana osoba otrzymuje pierwszeństwo przy kasie: (wiek wynosi co najmniej 65 OR isStudent ma wartość true) AND saldo jest większe niż 0 AND NOT hasPromoCode
Przykład:
Jeśli dane wejściowe to 22, 50, true, false i 80, wynikiem powinno być:
bool(true)
bool(false)
bool(true)Wyjaśnienie:
age < 25 && isStudent→ 22 < 25 && true → truebalance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode)→ 50 >= 80 || (50 >= 40 && false) → false || false → false(age >= 65 || isStudent) && balance > 0 && !hasPromoCode→ (false || true) && true && true → true
Spróbuj swoich sił
<?php
// Odczytaj wartości wejściowe
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));
// Przekonwertuj wartości tekstowe na wartości logiczne
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";
// TODO: Napisz swój kod poniżej
// 1. Sprawdź, czy osoba kwalifikuje się do zniżki dla młodych
// 2. Sprawdź, czy osobę stać na przedmiot po uwzględnieniu zniżki
// 3. Sprawdź, czy osoba może skorzystać z obsługi przy kasie poza kolejnością
?>Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównaniaRówność i tożsamośćOperatory logiczne — część 1Operatory logiczne — część 2Powtórka — prosta logika2Zmienne i typy danych
LiczbyCiągi znaków i cudzysłowyWartości logiczneKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychPuste zmienneŁączenie ciągów znakówPobieranie danych od użytkownikaKonwersja na inne typy5Instrukcje warunkowe
Instrukcja ifIf - elseOperator trójargumentowyOperator null coalescingInstrukcja switchPodsumowanie — podejmowanie decyzji3Podstawowe operatory
Operatory arytmetyczneOperator moduloOperator potęgowaniaPrzypisanie złożoneInkrementacja/dekrementacjaPriorytet operatorówPowtórka — proste obliczeniaOperatory łańcuchów znakówPoćwicz samodzielnie: Kompilator PHP online