Пример 1
Робот стоит в верхней клетке узкого вертикального коридора шириной в одну клетку. Длина коридора неизвестна, с обоих концов он закрыт стенами.
Напишите для Робота алгоритм, который закрасит все клетки коридора и вернёт Робота в исходную клетку.
Показать решение
1. Робот стоит в верхней клетке. Идём вниз, закрашивая клетки, пока снизу не будет стены.
2. Цикл останавливается, когда Робот стоит в нижней клетке, но её он ещё не закрасил — красим отдельной командой.
3. Возвращаемся вверх, пока сверху не будет стены, — это исходная клетка.
нц пока снизу свободно | повторяем, пока снизу нет стены
закрасить | красим клетку, где стоит Робот
вниз | шаг вниз
кц | конец цикла: Робот в нижней клетке коридора
закрасить | красим нижнюю клетку — цикл её не закрасил
нц пока сверху свободно | повторяем, пока сверху нет стены
вверх | шаг вверх
кц | конец цикла: Робот снова в верхней клетке