Исполнитель Робот
Исполнитель Робот действует на прямоугольном клеточном поле. Между некоторыми клетками, а также по периметру поля находятся стены. Основная цель Робота ¦— закрасить указанные клетки и переместиться в конечную клетку.
Исполнитель Робот и поле, на котором он работает, отображаются следующим образом:
Здесь большой желтый квадрат изображает Робота, маленький желтый квадрат в левом верхнем углу клетки — конечное положение Робота, черными точками помечены клетки, которые надо закрасить.
Команды исполнителя Робот содержатся в
модуле Robot
:
Right
– перемещает Робота вправо;Left
– перемещает Робота влево;– перемещает Робота вверх;
Up– перемещает Робота вниз;
Down– закрашивает текущую ячейку;
Paint– возвращает
WallFromLeftTrue
если слева от Робота стена;– возвращает
WallFromRightTrue
если справа от Робота стена;– возвращает
WallFromUpTrue
если сверху от Робота стена;– возвращает
WallFromDownTrue
если снизу от Робота стена;– возвращает
FreeFromLeftTrue
если слева от Робота свободно;– возвращает
FreeFromRightTrue
если справа от Робота свободно;– возвращает
FreeFromUpTrue
если сверху от Робота свободно;– возвращает
FreeFromDownTrue
если снизу от Робота свободно;– возвращает
CellIsPaintedTrue
если ячейка, в которой находится Робот, закрашена;– возвращает
CellIsFreeTrue
если ячейка, в которой находится Робот, не закрашена.
Для вызова задания для исполнителя Робот используется следующий шаблон программы:
uses Robot;
begin
Task('c1');
end.
Здесь Task
— процедура,
содержащаяся в модуле Robot
и вызывающая
задание с указанным именем.
Имеются следующие группы заданий для исполнителя Робот:
a
– вводные задания;– цикл с параметром;
c– логические выражения;
if– циклы с условием;
w– циклы + логические выражения;
сif– переменные-счетчики;
count– вложенные циклы;
cc– процедуры без параметров;
p– процедуры с параметрами.
pp
Для создания стандартного поля размера 9 x 11
используется процедура StandardField
без параметров, а для создания
поля размера N x M — процедура Field(N,M)
.
Робот при этом помещается в центр поля.