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


Решение по шагам
4 шагаПока справа находится стена, Робот перемещается вверх. Когда справа становится свободно, Робот находится выше верхнего конца стены.
Команда «вниз» переводит Робота в клетку, прилегающую к верхнему концу стены.
Далее в каждой клетке, прилегающей к стене, Робот сначала закрашивает текущую клетку, затем перемещается вниз. После прохода ниже нижнего конца стены справа становится свободно, и цикл завершается.
Один из допустимых алгоритмов на языке Кумир:
$$нц пока справа свободно вверх кц вниз нц пока справа несвободно закрасить вниз кц$$нц пока справа свободно
вверх
кц
вниз
нц пока справа несвободно
закрасить
вниз
кц
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Начинают закрашивание до нахождения верхнего конца стены.
Не выполняют дополнительное перемещение вниз после выхода выше стены.
Используют условие «снизу свободно» вместо проверки стены справа.
Закрашивают клетку уже ниже нижнего конца стены.