2018-08-02 22:04:49 +03:00
|
|
|
|
<html>
|
|
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<param name="Keyword" value="Робот">
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<param name="Keyword" value="Robot">
|
|
|
|
|
|
<param name="Keyword" value="Left">
|
|
|
|
|
|
<param name="Keyword" value="Right">
|
|
|
|
|
|
<param name="Keyword" value="Up">
|
|
|
|
|
|
<param name="Keyword" value="Down">
|
|
|
|
|
|
<param name="Keyword" value="Paint">
|
|
|
|
|
|
<param name="Keyword" value="WallFromLeft">
|
|
|
|
|
|
<param name="Keyword" value="WallFromRight">
|
|
|
|
|
|
<param name="Keyword" value="WallFromUp">
|
|
|
|
|
|
<param name="Keyword" value="WallFromDown">
|
|
|
|
|
|
<param name="Keyword" value="FreeFromLeft">
|
|
|
|
|
|
<param name="Keyword" value="FreeFromRight">
|
|
|
|
|
|
<param name="Keyword" value="FreeFromUp">
|
|
|
|
|
|
<param name="Keyword" value="FreeFromDown">
|
|
|
|
|
|
<param name="Keyword" value="CellIsPainted">
|
|
|
|
|
|
<param name="Keyword" value="CellIsFree">
|
|
|
|
|
|
<param name="Keyword" value="Task">
|
|
|
|
|
|
<param name="Keyword" value="Field">
|
|
|
|
|
|
<param name="Keyword" value="StandardField">
|
|
|
|
|
|
</object>
|
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
|
|
|
|
|
<title></title>
|
|
|
|
|
|
<link rel="StyleSheet" href="../../default.css">
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
<body>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<H1>Исполнитель Робот</H1>
|
|
|
|
|
|
<p >Исполнитель Робот
|
|
|
|
|
|
действует на прямоугольном клеточном поле. Между некоторыми клетками, а
|
|
|
|
|
|
также по периметру поля находятся <i>стены</i>. Основная цель Робота ¦— закрасить
|
|
|
|
|
|
указанные клетки и переместиться в конечную клетку.</p>
|
|
|
|
|
|
<p>Исполнитель Робот и поле, на котором он работает, отображаются следующим
|
|
|
|
|
|
образом:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<p><img border="0" src="../CheckedTasks/gif/RBa1-1.png"></p>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Здесь большой желтый квадрат изображает Робота, маленький
|
|
|
|
|
|
желтый квадрат в левом верхнем углу клетки — конечное положение Робота, черными точками помечены клетки, которые надо закрасить.</p>
|
|
|
|
|
|
<p>Команды исполнителя Робот содержатся в
|
|
|
|
|
|
модуле <code>Robot</code>:
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</p>
|
|
|
|
|
|
<blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<code>Right</code> –
|
|
|
|
|
|
перемещает Робота вправо;<code><br>
|
|
|
|
|
|
Left</code> – перемещает Робота влево;<code><br>
|
|
|
|
|
|
Up</code> – перемещает Робота вверх;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
Down</code> – перемещает Робота вниз;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
Paint</code> – закрашивает текущую ячейку;<code><br>
|
|
|
|
|
|
WallFromLeft</code> – возвращает <code>True</code>
|
|
|
|
|
|
если слева от Робота стена;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
WallFromRight</code> – возвращает <code>True</code>
|
|
|
|
|
|
если справа от Робота стена;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
WallFromUp</code> – возвращает <code>True</code>
|
|
|
|
|
|
если сверху от Робота стена;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
WallFromDown</code> – возвращает <code>True</code>
|
|
|
|
|
|
если снизу от Робота стена;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
FreeFromLeft</code> – возвращает <code>True</code>
|
|
|
|
|
|
если слева от Робота свободно;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
FreeFromRight</code> – возвращает <code>True</code>
|
|
|
|
|
|
если справа от Робота свободно;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
FreeFromUp</code> – возвращает <code>True</code>
|
|
|
|
|
|
если сверху от Робота свободно;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
FreeFromDown</code> – возвращает <code>True</code>
|
|
|
|
|
|
если снизу от Робота свободно;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
CellIsPainted</code> – возвращает <code>True</code>
|
|
|
|
|
|
если ячейка, в которой находится Робот, закрашена;
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<code><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
CellIsFree</code> – возвращает <code>True</code>
|
|
|
|
|
|
если ячейка, в которой находится Робот, не закрашена.
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Для вызова задания для исполнителя Робот используется
|
|
|
|
|
|
следующий шаблон программы:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<code><b>uses</b> Robot;<br>
|
|
|
|
|
|
<b>begin</b> <br>
|
|
|
|
|
|
|
|
|
|
|
|
Task('c1'); <br>
|
|
|
|
|
|
<b>end</b>. </code>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Здесь <code>Task</code> — процедура,
|
|
|
|
|
|
содержащаяся в модуле <code>Robot</code> и вызывающая
|
|
|
|
|
|
задание с указанным именем.</p>
|
|
|
|
|
|
<p>Имеются следующие группы заданий для исполнителя Робот:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<code>a</code> – вводные задания;<code><br>
|
|
|
|
|
|
c</code> – цикл с параметром;<code><br>
|
|
|
|
|
|
if</code> – логические выражения;<code><br>
|
|
|
|
|
|
w</code> – циклы с условием;<code><br>
|
|
|
|
|
|
сif</code> – циклы + логические выражения;<code><br>
|
|
|
|
|
|
count</code> – переменные-счетчики;<br>
|
|
|
|
|
|
<code>mix</code> – смешанные задачи;<br>
|
|
|
|
|
|
cc</code> – вложенные циклы;<code><br>
|
|
|
|
|
|
p</code> – процедуры без параметров;<code><br>
|
|
|
|
|
|
pp</code> – процедуры с параметрами.
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Для создания стандартного поля размера 7 x 9
|
|
|
|
|
|
используется процедура <code><a name="StandardField">StandardField</a></code> без параметров, а для создания
|
|
|
|
|
|
поля размера N x M — процедура <code><a name="Field">Field</a>(N,M)</code>.
|
|
|
|
|
|
Робот при этом помещается в центр поля.</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
|
|
</html>
|