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


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