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