Повторение — простая логика
Часть раздела Основы путешествия по 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. Проверить, получает ли человек приоритетную кассу
?>Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравненияРавенство и идентичностьЛогические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логика2Переменные и типы данных
ЧислаСтроки и кавычкиБулевы значенияСоглашения об именованииПовторение — инициализация переменныхПустые переменныеКонкатенация строкПолучение пользовательского вводаПриведение к другим типам5Условная логика
Оператор ifIf — ElseТернарный операторОператор нулевого слиянияОператор switchПовторение: принятие решений3Основные операторы
Арифметические операторыОператор остатка от деленияОператор возведения в степеньСоставное присваиваниеИнкремент/декрементПриоритет операторовПовторение — простые вычисленияОператоры строкПотренируйтесь самостоятельно: Онлайн-компилятор PHP