РУҚА
15

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

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

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

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

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

4 шага
1

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

2

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

3

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

Один из допустимых вариантов записи алгоритма с использованием вспомогательных алгоритмов:

Ответ

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

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

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

Закрашивание клетки прохода в горизонтальной или вертикальной стене.

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

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

Закрашивание клеток, не расположенных непосредственно у нужной стены.

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

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

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

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