РУҚА
15

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

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

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

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

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

7 шагов
1

Двигаемся влево до левой вертикальной стены.

2

Поднимаемся вверх до уровня выше верхнего конца стены.

3

Выходим за левую вертикальную стену и спускаемся снаружи. Сначала движемся вниз, пока справа не появится стена, затем продолжаем движение вниз, пока стена справа не закончится.

4

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

5

Закрашиваем все клетки этого ряда до правой вертикальной стены включительно.

6

Один из подходящих алгоритмов:

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

Ответ

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

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

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

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

Закрашивание клетки снаружи области между вертикальными стенами.

Отсутствие отдельной команды закрасить после завершения цикла: последняя клетка может остаться незакрашенной.

Движение вправо до стены до выхода на ряд под горизонтальной стеной.

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

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

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

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