Исполнитель Робот действует на прямоугольном клеточном поле. Между
некоторыми клетками, а также по периметру поля находятся стены.
Основная цель Робота – закрасить указанные клетки и переместиться в
конечную клетку.
Исполнитель Робот и поле, на котором он работает, отображаются
следующим образом:
Здесь большой желтый квадрат изображает Робота, маленький желтый
квадрат в левом верхнем углу клетки - конечное положение Робота, черными
точками помечены клетки, которые надо закрасить.
Команды исполнителя Робот содержатся в модуле Robot:
Right – перемещает Робота вправо;
Left – перемещает Робота влево;
Up – перемещает Робота вверх;
Down – перемещает Робота вниз;
Paint – закрашивает текущую ячейку;
WallFromLeft –
возвращает True если слева от
Робота стена;
WallFromRight –
возвращает True если справа от
Робота стена;
WallFromUp –
возвращает True если сверху от
Робота стена;
WallFromDown –
возвращает True если снизу от
Робота стена;
FreeFromLeft –
возвращает True если слева от
Робота свободно;
FreeFromRight –
возвращает True если справа от
Робота свободно;
FreeFromUp –
возвращает True если сверху от
Робота свободно;
FreeFromDown –
возвращает True если снизу от
Робота свободно;
CellIsPainted –
возвращает True если ячейка, в
которой находится Робот, закрашена;
CellIsFree –
возвращает True если ячейка, в
которой находится Робот, не закрашена.
Для вызова задания для исполнителя Робот
используется следующий шаблон программы:
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).
Робот при этом помещается в центр поля.