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


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