Вопрос задан 20.06.2026 в 17:58. Предмет Информатика. Спрашивает Secret Sicret.

Робот находится в левом конце горизонтального коридора, идущего вправо. Нижняя стена коридора сплошная, а в верхней стене есть несколько выходов. Напишите алгоритм, который перемещает робота к правому концу коридора, и при этом робот закрашивает все клетки коридора, из которых есть выходы вверх.

Кумир: Исполнитель Робот.

Перейти к ответам

Ответы на вопрос

Отвечает Феоктистова Виктория.

Подходит такой алгоритм для исполнителя Робот в Кумире:

kumir
использовать Робот

алг
нач
пока справа свободно
нц
если сверху свободно
то
закрасить
все
вправо
кц

если сверху свободно
то
закрасить
все
кон

Объяснение работы алгоритма:

Робот стоит в левом конце горизонтального коридора. Он должен двигаться вправо до самого конца коридора. Признаком конца коридора является то, что справа стена, то есть условие справа свободно становится ложным.

На каждой клетке робот проверяет, есть ли выход вверх. В Кумире это можно проверить условием:

kumir
сверху свободно

Если сверху свободно, значит из этой клетки есть выход вверх, поэтому робот закрашивает текущую клетку командой:

kumir
закрасить

После проверки робот делает шаг вправо.

Важно, что цикл

kumir
пока справа свободно

обрабатывает все клетки, кроме последней правой клетки коридора. Когда робот дошёл до правого конца, справа уже стена, и цикл завершается. Поэтому после цикла нужно отдельно проверить последнюю клетку:

kumir
если сверху свободно
то
закрасить
все

Иначе, если в самой правой клетке тоже есть выход вверх, она осталась бы незакрашенной.

Алгоритм не заходит в выходы вверх, а только определяет, из каких клеток коридора эти выходы есть, и закрашивает именно клетки коридора.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос