Закрасить
Все
Идем вверх. Поскольку длина галереи неизвестна, используем цикл пока сверху свободно. В каждой клетке галереи мы должны проверять наличие двух стен – и левой, и правой. Используем команду условия если, применяя сложное условие с логической связкой и: (не справа свободно) и (не слева свободно).
| Идем вверх, проверяя наличие двух стен
Нц пока сверху свободно
Вверх
Если (не справа свободно) и (не слева свободно)
Закрасить
Все
кц
После выполнения цикла пока мы пройдем всю галерею, за исключением верхней клетки, которую обработаем отдельно. У этой клетки уже есть одна стена – верхняя, поэтому для того, чтобы она была закрашена, достаточно хотя бы одной стены – правой или левой.
| Отдельно обрабатываем верхнюю клетку галереи
Если (не справа свободно) или (не слева свободно)
Закрасить
Все
Следует проверить универсальность составленного алгоритма, протестировав его в других условиях среды, удовлетворяющих тексту задания, например:
|
|
в) | Р | |||
г) | ||||
Р | ||||
д) | Р | |||
б) | ||||
Р | ||||
а) | Р | |||