Все темы
5

Делаем выбор: если / иначе

Бесплатно

1. Задача

Ты выходишь из дома и смотришь на улицу. Если идёт дождь, берёшь зонт. Если нет, оставляешь его дома. Ты тот же, дверь та же, а действие зависит от того, что ты сначала проверил.

Программы делают такой выбор постоянно. Без него программа всегда делала бы одно и то же.

2. Условие, потом ветка

Если проверяет вопрос с ответом «да» или «нет». При ответе «да» выполняется один набор шагов. Часть иначе необязательна. Она срабатывает при ответе «нет».

идёт дождь? да / нет да нет взять зонт оставить дома

Словами: «если идёт дождь: взять зонт. иначе: оставить зонт дома». Выполняется ровно одна ветка, обе сразу никогда.

3. Работает только один путь

Условие выбирает одну дорогу. Бывает, что случаев несколько: «если красный… иначе если жёлтый… иначе…». Тогда компьютер проверяет их сверху вниз. Он выполняет первый случай, условие которого верно, а остальные пропускает.

Поэтому порядок проверок может изменить ответ. Ставь самые узкие проверки первыми. Например, проверка «больше 100» должна стоять раньше проверки «больше 10». Иначе число 500 пройдёт уже первую проверку «больше 10», и до «больше 100» дело не дойдёт.

4. Твоя очередь (без кода)

Правило: «если число больше 10, скажи БОЛЬШОЕ; иначе скажи маленькое». Что оно скажет для 10? А для 11?

Для 10 оно скажет маленькое: 10 равно 10, а не больше. Для 11 скажет БОЛЬШОЕ. Граница (ровно 10) это место, где прячутся ошибки. «Больше» и «больше или равно» это разные правила. Перепутать их легко, и это одна из самых частых ошибок в программировании.

5. Главное

Если/иначе проверяет условие и выполняет одну ветку. Цикл повторяет шаг много раз, а если/иначе выбирает, что делать. Это две главные части почти любого алгоритма, и обе у тебя уже есть. Дальше ты соберёшь их вместе в настоящем коде.

На LeetCode

Кода пока нет, так что сдавать нечего. Такая развилка решает задачи вроде Kids With the Greatest Number of Candies, и ты решишь её сразу после урока 7, где цикл и условие впервые работают вместе.

Ты читаешь как гость

Все бесплатные уроки открыты: читай и запускай. Бесплатный аккаунт отмечает пройденные уроки и показывает, где ты в курсе.

Мы используем необходимые куки для работы сайта (вход и язык). Если ты согласишься, мы также загрузим Google Analytics, чтобы видеть, какие страницы читают, и Google reCAPTCHA для защиты форм обратной связи и сообщений об ошибке от спама. Политика конфиденциальности