РУҚА
15

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

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

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

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

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

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

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

4 шага
1

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

2

Дойдя до правого конца первого отрезка, робот переходит в клетки слева от второго, вертикального, отрезка и движется вниз, закрашивая их. Угловая клетка также закрашивается.

3

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

Затем робот проходит вправо под пятым отрезком и закрашивает клетки ниже него. Все движения выполняются только после проверки соответствующего направления.

Ответ

Один из вариантов алгоритма: нц пока справа свободно; закрасить; вправо; кц; закрасить; влево; нц пока слева свободно и сверху свободно; влево; кц; вниз; нц пока справа свободно; закрасить; вправо; кц; закрасить; вниз; нц пока слева свободно; закрасить; влево; кц; закрасить; вправо; нц пока справа свободно; закрасить; вправо; кц.

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

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

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

Пропуск угловой клетки.

Закрашивание клеток с внешней стороны стены.

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

Незавершённый алгоритм или продолжение движения после окончания нужного участка стены.

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

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

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

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