15

Решение: Закрашивание клеток у стены

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

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

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

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

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

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

4 шага
1

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

2

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

3

Переходим через проход направо, не закрашивая клетки прохода.

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

Ответ

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

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

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

Закрашивание клетки прохода перед переходом на правую сторону.

Переход направо до достижения вертикальной стены.

Отсутствие проверки окончания вертикальной стены на правой стороне.

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

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

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

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

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