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


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