15

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

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

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

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

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

6 шагов
1

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

2

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

3

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

4

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

5

Один из подходящих алгоритмов на языке исполнителя Робот:

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

Ответ

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

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

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

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

Закрашивание клетки за правым или левым краем стены.

Отсутствие команды возврата после выхода за левый край верхней стены.

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

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

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

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

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