Конструкция elseif

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

Когда простой развилки "да/нет" из `if-else` недостаточно, на помощь приходит `elseif`. Эта конструкция позволяет создавать целые цепочки проверок, где у каждого условия есть свой блок кода. Думайте об этом как о меню в ресторане: если есть первое блюдо — заказываем его, иначе, если есть второе — берём его, иначе берём десерт . В этом тренажере мы научимся строить такие логические цепочки. Вы будете заполнять пропуски в коде, предсказывать результат выполнения, исправлять синтаксические и логические ошибки, а также собирать сложные конструкции из фрагментов. Это ключевой навык для написания программ, способных обрабатывать множество различных сценариев.

Список тем

Добавление промежуточного условия

id: 38937_task_elseif_1

Дополните код, чтобы он проверял не только положительные и отрицательные числа, но и ноль. Используйте конструкцию `elseif` для проверки, равно ли число нулю.

Заполните пропуски
$number = 0;

if ($number > 0) {
    echo "Положительное";
} input1S ($number == 0) {
    echo "Ноль";
} else {
    echo "Отрицательное";
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Какой из блоков выполнится?

id: 38937_task_elseif_2

Проанализируйте цепочку условий. Переменная `$temperature` имеет значение `15`. Какое из условий окажется первым истинным и какое сообщение в итоге будет выведено на экран?

Выберите правильный вариант ответа
$temperature = 15;

if ($temperature > 25) {
    echo "Жарко";
} elseif ($temperature > 10) {
    echo "Тепло";
} else {
    echo "Холодно";
}
Сообщения
Проверить
Показать подсказку

Исправьте синтаксис `elseif`

id: 38937_task_elseif_3

Программист по ошибке написал `else if` с пробелом. Хотя в некоторых языках это допустимо, в PHP стандартной и рекомендуемой формой является слитное написание `elseif`. Исправьте эту строку, чтобы код соответствовал стандарту.

Найдите ошибку и исправьте
$user_status = "moderator";
 
if ($user_status == "admin") {
    echo "Полный доступ";
} else if ($user_status == "moderator") {
    echo "Доступ к управлению контентом";
} else {
    echo "Ограниченный доступ";
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите систему оценки знаний

id: 38937_task_elseif_4

Из предложенных фрагментов кода соберите работающий скрипт, который выставляет оценку в зависимости от набранных баллов. Баллы хранятся в переменной `$score`. Используйте все необходимые части, чтобы покрыть все диапазоны. Некоторые фрагменты являются лишними и не должны использоваться.

Перетяните в правильном порядке строки из одного блока в другой
$score = 82;
if ($score >= 90) {
    echo "Отлично";
} elseif ($score >= 75) {
    echo "Хорошо";
} elseif ($score >= 50) {
    echo "Удовлетворительно";
} else {
    echo "Неудовлетворительно";
}
if ($score < 50) {
echo "Пересдача";
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что выведет код с логическим "И"?

id: 38937_task_elseif_5

Внимательно изучите код. Здесь используется логический оператор `&&` (И), который требует, чтобы оба подусловия были истинными. Определите, какой блок кода выполнится, и впишите результат в поле ответа.

Что должно получиться?
$role = "manager";
$department = "sales";

if ($role == "admin") {
    echo "Полный доступ ко всем системам.";
} elseif ($role == "manager" && $department == "sales") {
    echo "Доступ к отчетам по продажам.";
} elseif ($role == "manager") {
    echo "Базовый доступ для менеджера.";
} else {
    echo "Доступ запрещен.";
}
Сообщения
Проверить
Показать подсказку

Исправьте логическую ошибку в порядке условий

id: 38937_task_elseif_6

В этом коде есть логическая ошибка: проверка на `> 18` всегда будет срабатывать раньше, чем на `> 65`, из-за чего пенсионеры будут определяться просто как совершеннолетние. Чтобы исправить это, нужно проверять более строгие условия раньше. Впишите правильные числовые значения в пропуски, чтобы логика стала верной.

Заполните пропуски
$age = 70;

if ($age > input1S) {
    echo "Пенсионер";
} elseif ($age > input2S) {
    echo "Совершеннолетний";
} else {
    echo "Ребенок";
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Восстановите порядок в коде

id: 38937_task_elseif_7

Строки кода, определяющие время суток, перепутаны. Расставьте их в правильном логическом порядке, чтобы получился работающий скрипт.

Расставьте строки в правильном порядке
$hour = 14;
} elseif ($hour < 18) {
echo "Добрый день!";
} else {
if ($hour < 12) {
echo "Доброе утро!";
echo "Добрый вечер!";
}
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру