Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:
вверх вниз влево вправо
При выполнении этих команд РОБОТ перемещается на од-ну клетку соответственно: вверх, вниз, влево, вправо.
Четыре команды проверяют истинность условия отсутствия стены у той клетки, где находится РОБОТ:
сверху
свободноснизу
свободнослева
свободносправа
свободно
Цикл
ПОКА < условие> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА<снизу свободно> вниз
ПОКА<справа свободно> вправо
ПОКА<сверху свободно> вверх
ПОКА<слева свободно> влево
КОНЕЦ
Выясним, что необходимо, чтобы РОБОТ остановился в той же клетке, с которой он начал движение. Так как программа заканчивается командой "ПОКА<слева свободно> влево", следовательно, для того, чтобы робот остановился в той же клетке, с которой он начал движение, необходимо, чтобы у этой клетки была стенка слева (условие 1). Этому условию удовлетворяют все клетки левой стенки лабиринта и еще восемь клеток кроме нее.
Предпоследняя команда: "ПОКА<сверху свободно> вверх", значит, у клетки в которой он прекратит выполнение должно быть ограничение стенкой сверху. Кроме того, робот, прекратив выполнение этой команды, должен оказаться в одной строке с клеткой, с которой он начал движение (условие 2). Клеток, удовлетворяющих условиям 1 и 2, всего три: В1, А1 и А3, если нумеровать цифрами сверху вниз, а русскими буквами слева направо.


Здравствуйте.
В решении этого задания указаны 3 клетки. На мой взгляд, клетка B1 не удовлетворяет условию задачи. Правильный ответ не 3, а 2.
На рисунке изображён путь, который проделает робот, стартовав из клетки В1.