Л. р. 9 Команды ветвления (если, выбор)
Алгоритм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.
Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.
Структура «ветвление». Решение некоторых задач требует различных действий в зависимости от выполнения некоторых условий. В таких случаях говорят о ветвлении алгоритма.
Для реализации структуры «ветвление» используются две структурированные команды школьного АЯ — если и выбор, каждая из которых может быть полной и неполной.
В блок-схемах и школьном АЯ <условие> — это логическое выражение, результатом которого может быть одно из двух возможных значений — истина или ложь. В школьном АЯ эти значения записывают как да и нет. В языках программирования часто используются значения True и False. В компьютере эти значения хранятся как 1 и 0.
Общий вид команды:
если условие
то серия 1
иначе серия 2
все
Серия 2 вместе со служебным словом иначе может отсутствовать. В этом случае команда имеет вид:
если условие
то серия 1
все
При выполнении команды если КуМир сначала проверяет yсловие, записанное между если и то. При соблюдении этого условия выполняется серия 1, в противном случае — серия 2 (если она есть), после чего КуМир переходит к выполнению команд, записанных после слова все.
Если условие не соблюдается, а серия 2 вместе с иначе отсутствует, то КуМир сразу переходит к выполнению команд, записанных после слова все.
Полное ветвление
(запись в алгоритмическом языке)
если <условие>
. . то <команда1>
. . иначе <команда2>
все
Пример:
использовать Робот
алг ветвление_полное
нач
если сверху свободно
то вверх
иначе вниз
все
кон
Неполное ветвление
(запись в алгоритмическом языке)
если <условие>
то <команда1>
все
Пример:
использовать Робот
алг ветвление_неполное
нач
если сверху свободно
то вверх
все
кон
Задание 1.
Необходимо провести Робота по коридору шириной в одну клетку из начального положения (◊) до конца коридора, закрашивая при этом все клетки коридора, которые имеют выход. Выходы размером в одну клетку располагаются произвольно по всей длине коридора. Коридор заканчивается тупиком. Коридор имеет горизонтальный, вертикальный и диагональный участки в форме
Рисунок 1.
Задание 2.
Робот движется вдоль стены, от начального положения (◊) до конца стены.Необходимо закрасить все внутренние углы стены, как показано на примере. Размеры стены могут быть произвольны.
Пример коридора, код и результат работы показан на рисунке 2.
.
Пример коридора, код и результат работы показан на рисунке 1.
Рисунок 2.