Система
команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на
клетчатой плоскости:
вверх вниз
влево вправо.
При выполнении любой из этих команд
РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево
←, вправо →. Четыре команды проверяют истинность условия отсутствия
стены у каждой стороны той клетки, где находится РОБОТ:
сверху
свободно снизу свободно
слева свободно
справа свободно
Цикл
ПОКА <условие> команда выполняется, пока условие истинно,
иначе происходит переход на следующую строку.
Если РОБОТ начнет движение в сторону стены, он разрушится и
программа прервется.
Сколько клеток приведенного лабиринта соответствуют
требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет и
остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА <сверху
свободно> вправо
ПОКА <справа
свободно> вниз
ПОКА <снизу
свободно> влево
ПОКА <слева
свободно> вверх
КОНЕЦ
|