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


Шешім по шагам
4 қадамРобот движется влево по горизонтальной части лестницы до вертикальной стенки очередной ступени. Перед движением проверяется, что путь слева свободен.
Клетка справа от вертикальной части ступени является первой клеткой, которую нужно закрасить. Затем Робот поднимается на одну клетку и закрашивает вторую клетку.
После закрашивания двух клеток Робот возвращается на уровень следующего горизонтального участка и продолжает движение влево. Цикл завершается, когда слева больше нет очередной вертикальной части лестницы.
Один из нұсқа программы Кумир:
алг
нач
нц пока слева свободно
влево
кц
нц пока сверху свободно
если слева свободно то
влево
иначе
закрасить
вверх
закрасить
вниз
все
все
кц
кон
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Закрашивают клетки самой стены, а не клетки рядом с её вертикальной частью.
Закрашивают только одну клетку вместо двух.
Двигаются влево без проверки «слева свободно», из-за чего Робот может разрушиться.
Не предусматривают завершение алгоритма после обработки всех ступеней.
После закрашивания не переходят на следующий горизонтальный деңгей.