15

Решение: Закрашивание внутренней границы

ОГЭ · Информатика · Задание 15 · Алгоритмы и исполнители
ВысокаяФИПИ5E59CEРазвёрнутое решение≈ 15 минутРазбор в 4 шага
Условие

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

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

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

2

Затем выполняем обход внутреннего контура прямоугольника против часовой стрелки: поднимаемся вдоль правой стены, идём влево вдоль верхней стены и спускаемся вдоль левой стены.

3

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

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

Ответ

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

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Закрашивание клеток, расположенных в проходах.

Попытка пройти сквозь стену без предварительной проверки.

Остановка после обхода только трёх сторон прямоугольника.

Закрашивание внешних, а не внутренних клеток около стен.

Закрепить приёмВ теме «Алгоритмы и исполнители» ещё 177 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 15 ОГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Алгоритмы и исполнители»: в ней 178 задач, и у каждой есть такой же разбор. Регистрация не нужна.