ТГ бот

Выберите один из нескольких вариантов. Исполнитель Робот умеет перемещаться по…

Информатика9 классРешено по фото 12 октября 2026 в 23:45
№ Исполнитель Робот: закрашивание клеток вдоль стен

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

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
На бесконечном поле имеются четыре стены неизвестной длины, соединённые между собой и образующие прямоугольник. В левой вертикальной стене есть ровно один проход, в нижней горизонтальной стене также есть ровно один проход. Проход не может примыкать к углу прямоугольника. Точные места проходов и ширина проходов неизвестны.
Робот находится в левом нижнем углу, внутри прямоугольника. На рисунке указан один из возможных способов расположения стен и Робота.
Из предложенных алгоритмов для Робота выберите алгоритм, который закрашивает все клетки, расположенные вдоль стен прямоугольника с внешней стороны. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Конечное расположение Робота может быть произвольным.
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.

Рисунок: «Начальное положение» и «Выполненная программа».

Варианты (в порядке фото):

Вариант 1

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

Вариант 2

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

Вариант 3

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

Робот стоит внутри прямоугольника у левой и нижней стен. Алгоритм должен обойти прямоугольник снаружи по часовой стрелке, начиная с нижнего прохода, и закрасить все клетки у стен, включая угловые.

Вариант .

  1. Цикл «пока снизу стена: вправо» ведёт Робота вдоль нижней стены до нижнего прохода.
  2. «вниз» выводит его через проход наружу, «влево» ставит на первую клетку под стеной левее прохода. Проход остаётся незакрашенным.
  3. Цикл «пока сверху стена: закрасить, влево» закрашивает клетки под нижней стеной до левого нижнего угла. Остановка происходит в угловой клетке, где сверху стены нет. Команда «закрасить» после цикла закрашивает эту угловую клетку.
  4. «вверх» ставит Робота слева от левой стены. Цикл «пока справа стена: закрасить, вверх» закрашивает клетки до левого прохода. Цикл «пока справа свободно: вверх» проводит Робота мимо прохода, не закрашивая его. Следующий цикл «пока справа стена» закрашивает клетки выше прохода. Остановка в левой верхней угловой клетке, её закрашивает «закрасить».
  5. «вправо» ставит Робота над верхней стеной. Цикл «пока снизу стена: закрасить, вправо» закрашивает клетки над стеной. Остановка в правой верхней угловой клетке, её закрашивает «закрасить».
  6. «вниз» ставит Робота справа от правой стены. Цикл «пока слева стена: закрасить, вниз» закрашивает клетки до правого нижнего угла. Угловую клетку закрашивает «закрасить».
  7. «влево» ставит Робота под нижнюю стену. Цикл «пока сверху стена: закрасить, влево» закрашивает клетки до нижнего прохода и останавливается на нём, не закрасив его.

Почему не подходят остальные.

  • Вариант : после закрашивания левого нижнего угла нет команды «вверх». Робот остаётся в угловой клетке, цикл «пока справа стена» не выполняется, и левая стена не закрашивается. Нет и команд «вправо», «вниз», «влево» между участками обхода.
  • Вариант : в циклах сначала идёт движение, потом «закрасить». Поэтому первая клетка под нижней стеной (рядом с проходом) остаётся незакрашенной. Аналогично пропускаются клетки у начала каждого участка.
💡 Почему так

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

Ответ
✓ dzmen.ru

Вариант (второй листинг, с фото ).

Помогло?

Есть ещё задание?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото