Recap - Simple Logic
Часть раздела Основы путешествия по PHP на Coddy — урок 27 из 71.
Задание
ЛегкоПрочитайте пять значений из ввода: целое число age, целое число balance, строку isStudent (либо "true", либо "false"), строку hasPromoCode (либо "true", либо "false") и целое число itemPrice.
Преобразуйте строковые значения в булевы, сравнивая их с "true".
Оцените следующие три условия и выведите результат каждого с помощью var_dump(), каждое на новой строке:
- Проверьте, имеет ли человек право на молодежную скидку: age меньше 25 И является студентом
- Проверьте, может ли человек позволить себе товар со скидкой: balance больше или равно itemPrice ИЛИ (balance не менее половины itemPrice И hasPromoCode истинно)
- Проверьте, получает ли человек приоритетное обслуживание: (age не менее 65 ИЛИ isStudent истинно) И balance больше 0 И НЕ hasPromoCode
Пример:
Если входные данные 22, 50, true, false и 80, то вывод должен быть:
bool(true)
bool(false)
bool(true)Пояснение:
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
Попробуйте сами
<?php
// Читаем входные значения
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));
// Преобразуем строковые значения в булевы
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";
// TODO: Напишите свой код ниже
// 1. Проверить, имеет ли человек право на скидку для молодежи
// 2. Проверить, может ли человек позволить себе товар со скидкой
// 3. Проверить, получает ли человек приоритетную кассу
?>Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators