Menu
Coddy logo textTech

Powtórka — prosta logika

Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 27 z 71.

challenge icon

Wyzwanie

Łatwy

Wczytaj 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:

  1. Sprawdź, czy dana osoba kwalifikuje się do zniżki dla młodzieży: wiek jest mniejszy niż 25 AND osoba jest studentem
  2. 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)
  3. 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 → true
  • balance >= 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

Poćwicz samodzielnie: Kompilator PHP online