/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PABCNetHelp/ForEducation/MakeModules/RobotMake.html
131 строка
8 KB
samuraiGH
adding working-tree-encoding attribute (#3325)
07 ноя 2025, 16:12
Не верифицирован
07 ноя 2025, 16:12
cf1fd29
Код
Авторство
О чём код?
<html> <head> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param name="Keyword" value="TaskProcType"> <param name="Keyword" value="Field"> <param name="Keyword" value="HorizontalWall"> <param name="Keyword" value="VerticalWall"> <param name="Keyword" value="RobotBegin"> <param name="Keyword" value="RobotEnd"> <param name="Keyword" value="RobotBeginEnd"> <param name="Keyword" value="Tag"> <param name="Keyword" value="TagRect"> <param name="Keyword" value="MarkPainted"> <param name="Keyword" value="TaskText"> <param name="Keyword" value="RegisterTask"> <param name="Keyword" value="RegisterGroup"> </object> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title></title> <link rel="StyleSheet" href="../../default.css"> </head> <body> <H1>Модул<span lang="ru">ь </span>RobotTaskMaker</H1> <hr> <table border="0" width="100%" id="table1" style="border-width: 0px" cellpadding="8"> <tr height=20pt> <td style="border-style:none; border-width:medium; background-color: #99CCFF"> <b><font size="2" color="#800080"><span lang="ru">Типы</span> модуля </font></b> <font size="2" color="#800080"><b>RobotTaskMaker</b></font></td> </tr> </table> <blockquote> <p><code><b>type</b> TaskProcType<span lang="ru"> </span>=<b><span lang="ru"> </span>procedure</b>;</code></p> </blockquote> <p>Тип процедуры, генерирующей конкретное задание. Каждое задание реализуется в виде отдельной процедуры; для связывания этой процедуры с именем задания необходимо использовать процедуру <code>RegisterTask</code>, описываемую ниже. </p> <table border="0" width="100%" id="table2" style="border-width: 0px" cellpadding="8"> <tr height=20pt> <td style="border-style:none; border-width:medium; background-color: #99CCFF"> <b><font size="2" color="#800080">Процедуры модуля </font></b> <font size="2" color="#800080"><b>RobotTaskMaker</b></font></td> </tr> </table> <blockquote> <p><code><b>procedure</b> Field(szx,szy: integer); </code></p> </blockquote> <p><span lang="ru">Задает поле Робота размера </span><code>szx</code> <span lang="ru">на </span><code>szy</code> <span lang="ru">клеток</span>.</p> <blockquote> <p><code><b>procedure</b> HorizontalWall(x,y,len: integer); </code></p> </blockquote> <p><span lang="ru">Создает горизонтальную стену длины </span><code>len</code><span lang="ru"> и координатами левого верхнего угла (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru">.</span></p> <blockquote> <p><code><b>procedure</b> VerticalWall(x,y,len: integer); </code></p> </blockquote> <p><span lang="ru">Создает вертикальную стену длины </span><code>len</code><span lang="ru"> и координатами левого верхнего угла (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru">.</span></p> <blockquote> <p><code><b>procedure</b> RobotBegin(x,y: integer); </code></p> </blockquote> <p><span lang="ru">Задает начальное положение Робота в клетке с координатами (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru">.</span></p> <blockquote> <p><code><b>procedure</b> RobotEnd(x,y: integer); </code></p> </blockquote> <p><span lang="ru">Задает конечное положение Робота в клетке с координатами (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru">.</span></p> <blockquote> <p><code><b>procedure</b> RobotBeginEnd(x,y,x1,y1: integer); </code></p> </blockquote> <p><span lang="ru">Задает начальное положение Робота в клетке с координатами (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru"> и конечное в клетке с координатами (</span><code>x<span lang="ru">1</span></code>,<span lang="ru"> </span><code>y<span lang="ru">1</span></code>)<span lang="ru">.</span></p> <blockquote> <p><code><b>procedure</b> Tag(x,y: integer); </code></p> </blockquote> <p><span lang="ru">Помечает клетку (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru"> для закрашивания.</span></p> <blockquote> <p><code><b>procedure</b> TagRect(x,y,x1,y1: integer); </code></p> </blockquote> <p><span lang="ru">Помечает прямоугольник из клеток, задаваемый координатами противоположных вершин прямоугольника (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru"> и (</span><code>x<span lang="ru">1</span></code>,<span lang="ru"> </span><code>y<span lang="ru">1</span></code>)<span lang="ru">, для закрашивания.</span></p> <blockquote> <p><code><b>procedure</b> MarkPainted(x,y: integer); </code></p> </blockquote> <p><span lang="ru">Закрашивает клетку (</span><code>x</code>,<span lang="ru"> </span><code>y</code>)<span lang="ru"> (в задании некоторые клетки могут быть уже закрашены).</span></p> <blockquote> <p><code><b>procedure</b> TaskText(s: <b>string</b>); </code></p> </blockquote> <p><span lang="ru">Задает формулировку текста задания в строке </span><code>s</code><span lang="ru">.</span></p> <blockquote> <p><code><b>procedure</b> RegisterGroup(name,description,unitname: string; count: integer); </code></p> </blockquote> <p>Обеспечивает автоматическую регистрацию новой группы заданий в программном модуле <b>PT4Load</b>. В результате имя данной группы будет отображаться в окне модуля <b>PT4Load</b> в списке групп, связанных с исполнителем Робот, что позволит создать программу-заготовку для выполнения любого задания этой группы. В качестве параметров процедуры указывается имя группы <code>name</code>, краткое описание группы <code>description</code>, имя модуля <code>unitname</code>, в котором описана группа, и количество заданий <code>count</code>. Имя группы заданий должно содержать не более 7 символов (цифр и латинских букв) и не должно оканчиваться цифрой, количество заданий не должно превышать 999. Процедура <code>RegisterGroup</code> должна вызываться в секции инициализации модуля, содержащего реализацию новой группы заданий для Робота. </p> <blockquote> <p><code><b>procedure</b> RegisterTask(name: string; p: TaskProcType);</code> </blockquote> <p>Связывает имя задания <code>name</code> с процедурой <code>p</code>, в которой реализовано данное задание. Данную процедуру следует вызывать для <i>каждого</i> задания. Подобно описанной выше процедуре <code>RegisterGroup</code>, процедура <code>RegisterTask</code> должна вызываться в секции инициализации модуля, содержащего реализацию новой группы заданий для Робота. Порядок вызова этих процедур может быть произвольным. </p> </body> </html>