Ветвления: если-то-иначе-всё и выбор
Учим программу принимать решения: разбираем условный оператор «если» и множественный выбор.
Ветвление — конструкция, выбирающая, какие команды выполнить, в зависимости от условия. В КуМире это
если … то … иначе … всёивыбор … при … всё.
Полная форма «если»
Полное ветвление выполняет одну ветку, если условие истинно, и другую — если ложно:
если <условие>
то <команды, если да>
иначе <команды, если нет>
всё
Пример с числом:
если a > 0
то вывод "положительное", нс
иначе вывод "ноль или отрицательное", нс
всё
Обратите внимание на слово всё в конце — оно обязательно и отмечает границу ветвления.
Неполная форма (без «иначе»)
Если во втором случае ничего делать не надо, ветку иначе опускают:
если справа свободно
то вправо
всё
Робот шагнёт вправо, только если там свободно; иначе просто пойдёт дальше по программе.
Ветвление для Робота: обход угла
Пусть Робот идёт вправо вдоль стены и должен закрашивать только те клетки, под которыми есть стена (край «полки»):
использовать Робот
алг
нач
если снизу стена
то закрасить
всё
вправо
кон
Вложенные ветвления
Внутри ветки можно поставить ещё одно если. Каждое требует своего всё:
если a > 0
то вывод "плюс", нс
иначе
если a = 0
то вывод "ноль", нс
иначе вывод "минус", нс
всё
всё
Конструкция «выбор»
Когда вариантов много, вместо лесенки вложенных если удобнее выбор. Каждый случай начинается со слова при и условия:
выбор
при a > 0: вывод "положительное", нс
при a = 0: вывод "ноль", нс
иначе вывод "отрицательное", нс
всё
КуМир проверяет условия сверху вниз и выполняет первый подходящий при. Ветка иначе срабатывает, если ни одно условие не подошло. Конструкция тоже закрывается словом всё.
Та же логика на Python
Классификация числа по знаку — запускаемый эквивалент конструкции «выбор»:
def klassif(a):
if a > 0:
return "положительное"
elif a == 0:
return "ноль"
else:
return "отрицательное"
for x in [7, 0, -3]:
print(x, "->", klassif(x))
Вывод:
7 -> положительное 0 -> ноль -3 -> отрицательное
Попробуй сам
Напишите ветвление для Робота: если слева свободно, шагнуть влево и закрасить; иначе закрасить текущую клетку. Не забудьте закрыть если словом всё.
Частые ошибки
- Забыть
всё— КуМир подчеркнёт ошибку, программа не запустится. - Поставить
тона той же строке без условия или перепутать порядокесли/то. - Во вложенных
еслине закрыть каждое своимвсё. - В
выборзабыть двоеточие после условия впри.
Итог
- Ветвление:
если … то … иначе … всё; веткуиначеможно опустить. - Каждое
еслиобязательно закрывается словомвсё. - Для многих вариантов —
выбор … при условие: … иначе … всё. - Ветвления управляют и вычислениями, и движением Робота.