Робот находится в левом конце горизонтального коридора, идущего вправо. Нижняя стена коридора сплошная, а в верхней стене есть несколько выходов. Напишите алгоритм, который перемещает робота к правому концу коридора, и при этом робот закрашивает все клетки коридора, из которых есть выходы вверх.
Кумир: Исполнитель Робот.
Ответы на вопрос
Подходит такой алгоритм для исполнителя Робот в Кумире:
kumirиспользовать Робот
алг
нач
пока справа свободно
нц
если сверху свободно
то
закрасить
все
вправо
кц
если сверху свободно
то
закрасить
все
кон
Объяснение работы алгоритма:
Робот стоит в левом конце горизонтального коридора. Он должен двигаться вправо до самого конца коридора. Признаком конца коридора является то, что справа стена, то есть условие справа свободно становится ложным.
На каждой клетке робот проверяет, есть ли выход вверх. В Кумире это можно проверить условием:
kumirсверху свободно
Если сверху свободно, значит из этой клетки есть выход вверх, поэтому робот закрашивает текущую клетку командой:
kumirзакрасить
После проверки робот делает шаг вправо.
Важно, что цикл
kumirпока справа свободно
обрабатывает все клетки, кроме последней правой клетки коридора. Когда робот дошёл до правого конца, справа уже стена, и цикл завершается. Поэтому после цикла нужно отдельно проверить последнюю клетку:
kumirесли сверху свободно
то
закрасить
все
Иначе, если в самой правой клетке тоже есть выход вверх, она осталась бы незакрашенной.
Алгоритм не заходит в выходы вверх, а только определяет, из каких клеток коридора эти выходы есть, и закрашивает именно клетки коридора.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

