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


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