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


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