Исполнитель Робот
Исполнитель Робот действует на прямоугольном клеточном поле. Между некоторыми клетками, а также по периметру поля находятся стены. Основная цель Робота ¦— закрасить указанные клетки и переместиться в конечную клетку.
Исполнитель Робот и поле, на котором он работает, отображаются следующим образом:

Здесь большой желтый квадрат изображает Робота, маленький желтый квадрат в левом верхнем углу клетки — конечное положение Робота, черными точками помечены клетки, которые надо закрасить.
Команды исполнителя Робот содержатся в
модуле 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).
Робот при этом помещается в центр поля.