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


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