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