Рассмотрим такую задачу: Робот стоит слева от горизонтального коридора, нижняя стена которого сплошная, а в верхней имеется несколько выходов. Надо составить алгоритм, который переводит робота по коридору и закрашивает все клетки, из которых есть выход вверх.
Исходная обстановка:
Результат работы:
Вспомним похожую задачу, которую мы решали ранее, когда надо было закрасить все клетки коридора. Новая задача отличается только тем, что красить нужно не все клетки коридора, а лишь те, где есть выход вверх. Другими словами, если сверху свободно, то клетку надо закрасить, иначе красить не надо.
Вспомним, что форма организации действий, при которой в зависимости от условия совершается либо одна, либо другая последовательность действий, называется ветвлением .
Для записи таких действий есть специальная составная команда «если»:
если <условие>
то <серия 1 (последовательность команд)>
все
Полная запись:
если <условие>
то <серия 1 (последовательность команд)>
иначе <серия 2 (последовательность команд)>
все
При выполнении команды «если» КуМир сначала проверяет условие. записанное между если и то. При соблюдении этого условия выполняется серия 1. в противном случае — серия 2 (если она есть), после чего КуМир переходит к выполнению команд, записанных после слова все .
Если условие не соблюдается, а серия 2 вместе с иначе отсутствует, то КуМир сразу переходит к выполнению команд, записанных после слова все.