15

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

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

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

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

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

5 шагов
1

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

2

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

3

Робот движется вправо по свободным клеткам до первой клетки, над которой находится стена.

4

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

Подходящий алгоритм:

$$нц пока (слева свободно) и (не снизу свободно)\n влево\nкц\nвниз\nнц пока сверху свободно\n вправо\nкц\nнц пока не сверху свободно\n закрасить\n вправо\nкц$$
Ответ

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

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

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

Двигаться влево только по условию «слева свободно», не проверяя наличие стены снизу.

Начать закрашивание в клетке слева от третьего отрезка.

Продолжать закрашивание после окончания третьего отрезка.

Использовать команду «вниз» в клетке, где снизу находится стена.

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

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

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

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