РУҚА
15

Решение: Алгоритм для Робота

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

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

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

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

4 шага
1

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

2

Если справа проход, Робот продолжает двигаться вниз без закрашивания, пока справа снова не появится стена. Так обрабатывается проход любой ширины.

3

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

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

Ответ

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

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

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

Закрашивание всех клеток подряд без проверки наличия стены.

Попытка пройти сквозь стену при достижении её конца.

Остановка в проходе вместо продолжения движения до следующего участка стены.

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

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

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

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

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