Условие
ветвление · if
Это понятие впервые встречается на программе «Электроника, программирование и инженерная практика» — примерно 13-14 лет (7-8 класс).
Место в программе, где она выбирает, что делать дальше: проверка верна — один путь, неверна — другой.
Развилка с указателем: «если идёт дождь — иди по крытой дорожке, иначе — напрямик».
Собрать в Scratch отскок от края через блок «если … то» с сенсором «касается края?» — без готового блока «если касается края, оттолкнуться» — и показать, где происходит выбор.
Команда ветвления (если/иначе, if/else): исполнитель проверяет логическое выражение и выполняет только одну из ветвей. Проверка срабатывает в тот момент, когда программа доходит до неё, — поэтому в игре или «умном доме» её выполняют снова и снова, а не один раз при старте.
Написать для «умного дома» на Arduino условие «темно — включи светодиод, светло — выключи»; найти ошибку в скетче, где ветви перепутаны.
Управляющая конструкция ветвления: цепочки if / else if / else, вложенность, комбинирование условий операторами И/ИЛИ/НЕ. Выполняется первая ветвь с истинным условием, поэтому порядок проверок важен. Краевой случай: в C, C++ и JavaScript присваивание = внутри условия вместо сравнения == синтаксически допустимо, но почти всегда логическая ошибка; в C# и Java компилятор такой код не пропустит.
Найти в чужом скетче Arduino (C++) ошибку if (x = 5) вместо ==; переписать три вложенных if в одно условие с логическими операторами.
Частое заблуждение
«if следит за условием постоянно». Нет: проверка выполняется один раз — в момент, когда программа доходит до этой строки; чтобы следить постоянно, проверку повторяют в цикле.