15

Решение: Закрашивание клеток над препятствием

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

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

Робот умеет выполнять команды «вверх», «вниз», «влево», «вправо», «закрасить», проверки «сверху свободно», «снизу свободно», «слева свободно», «справа свободно», а также условные операторы и циклы «пока».

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

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

5 шагов
1

Двигаемся влево до препятствия. Робот останавливается в клетке справа от его правой границы.

2

Поднимаемся вверх, пока слева находится стена препятствия. После этого Робот оказывается в клетке непосредственно над правым верхним углом препятствия.

3

Закрашиваем текущую клетку и последовательно перемещаемся влево, закрашивая все клетки над препятствием. Цикл заканчивается, когда слева появляется стена.

4

Один из корректных алгоритмов:

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

Ответ

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

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

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

Закрашивание клеток самого препятствия вместо клеток над ним.

Отсутствие закрашивания первой клетки верхней строки.

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

Использование фиксированного числа шагов вместо циклов.

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

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

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

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