2018-08-02 22:04:49 +03:00
|
|
|
|
<html>
|
|
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
|
|
|
|
<param name="Keyword" value="">
|
|
|
|
|
|
</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>Создание заданий для исполнителя <span lang="ru">Чертежник</span></H1>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<hr>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p><span lang="ru">Опишем последовательность создания группы заданий для
|
|
|
|
|
|
исполнителя Чертежник. Создадим модуль </span><span lang="en-us">DM</span>Tasks.pas со следующи<span lang="ru">м
|
|
|
|
|
|
текстом:</span></p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>unit</b> <span lang="en-us">DM</span>Tasks;</code></p>
|
|
|
|
|
|
<p><code><b>interface</b></code></p>
|
|
|
|
|
|
<p><code><b>uses</b> DMTaskMaker;</code></p>
|
|
|
|
|
|
<p><code><b>implementation</b></code></p>
|
|
|
|
|
|
<p><code><b>procedure</b> First<span lang="en-us">DM</span>;<br>
|
|
|
|
|
|
<b>var</b> i,a: integer;<br>
|
|
|
|
|
|
<b>begin</b><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
TaskText('Задание mydm1. Начертите, используя цикл');<br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
Field(14,8);<br>
|
|
|
|
|
|
DoToPoint(7,7);<br>
|
|
|
|
|
|
a:=6;<br>
|
|
|
|
|
|
<b>for</b> i:=1 <b>to</b> 6 <b>do</b><br>
|
|
|
|
|
|
<b>begin</b><br>
|
|
|
|
|
|
DoPenDown;<br>
|
|
|
|
|
|
DoOnVector(a,-a);<br>
|
|
|
|
|
|
DoOnVector(-a,a);<br>
|
|
|
|
|
|
DoOnVector(-a,-a);<br>
|
|
|
|
|
|
DoOnVector(a,a);<br>
|
|
|
|
|
|
Dec(a);<br>
|
|
|
|
|
|
DoPenUp;<br>
|
|
|
|
|
|
DoOnVector(0,-1);<br>
|
|
|
|
|
|
<b>end</b>;<br>
|
|
|
|
|
|
<b>end</b>;</code></p>
|
|
|
|
|
|
<p><code><b>begin</b><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
</span>RegisterGroup('mydm','Мои задания для Чертежника','DMTasks',2);<br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</span>RegisterTask('mydm1',FirstDM);<br>
|
|
|
|
|
|
<b>end</b>.</code></p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p><span lang="ru">Наберем и запустим основную программу (сохранять ее в каком-либо файле не требуется):</span></p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>uses</b> <span lang="en-us">Drawman</span>, <span lang="en-us">
|
|
|
|
|
|
DM</span>Tasks;<br>
|
|
|
|
|
|
<b>begin</b><br>
|
|
|
|
|
|
Task('my<span lang="en-us">dm</span>1');<br>
|
|
|
|
|
|
<b>end</b>.</code></p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Будет выведено следующее задание для <span lang="ru">Чертежника</span>:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<p><img border="0" src="images/dmmake1.PNG"></p>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Добавим задание на разработку процедуры:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>procedure</b> DoCross;<br>
|
|
|
|
|
|
<b>begin</b><br>
|
|
|
|
|
|
DoPenDown;<br>
|
|
|
|
|
|
DoOnVector(1,0); DoOnVector(0,-1);<br>
|
|
|
|
|
|
DoOnVector(1,0); DoOnVector(0,-1);<br>
|
|
|
|
|
|
DoOnVector(-1,0); DoOnVector(0,-1);<br>
|
|
|
|
|
|
DoOnVector(-1,0); DoOnVector(0,1);<br>
|
|
|
|
|
|
DoOnVector(-1,0); DoOnVector(0,1);<br>
|
|
|
|
|
|
DoOnVector(1,0); DoOnVector(0,1);<br>
|
|
|
|
|
|
DoPenUp;<br>
|
|
|
|
|
|
<b>end</b>;</code></p>
|
|
|
|
|
|
<p><code><b>procedure</b> SecondDM;<br>
|
|
|
|
|
|
<b>begin</b><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
TaskText('Задание mydm2. Начертите, используя процедуру Cross');<br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
Field(18,12);<br>
|
|
|
|
|
|
DoToPoint(3,8);<br>
|
|
|
|
|
|
DoCross;<br>
|
|
|
|
|
|
DoToPoint(8,4);<br>
|
|
|
|
|
|
DoCross;<br>
|
|
|
|
|
|
DoToPoint(12,11);<br>
|
|
|
|
|
|
DoCross;<br>
|
|
|
|
|
|
DoToPoint(15,6);<br>
|
|
|
|
|
|
DoCross;<br>
|
|
|
|
|
|
<b>end</b>;</code></p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Добавим вызов процедуры регистрации для данного задания; в результате секция инициализации примет следующий вид:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>begin</b><br>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
RegisterGroup('mydm','Мои задания для Чертежника','DMTasks',2);<br>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
RegisterTask('mydm1',FirstDM);<br>
|
|
|
|
|
|
RegisterTask('mydm2',SecondDM);<br>
|
|
|
|
|
|
<b>end</b>.</code></p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p><span lang="ru">Изменим основную программу:</span></p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>uses</b> <span lang="en-us">Drawman</span>, <span lang="en-us">
|
|
|
|
|
|
DM</span>Tasks;<br>
|
|
|
|
|
|
<b>begin</b><br>
|
|
|
|
|
|
Task('my<span lang="en-us">dm2</span>');<br>
|
|
|
|
|
|
<b>end</b>.</code></p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>При запуске этой программы в окне исполнителя Чертежник будет выведено новое задание:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<p><img border="0" src="images/dmmake2.PNG"></p>
|
|
|
|
|
|
<p>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
При первом запуске программы с подключенным модулем <code>DMTasks</code> созданная нами группа была автоматически зарегистрирована
|
|
|
|
|
|
в мастере по созданию программ-заготовок <b>PT4Load</b>.
|
|
|
|
|
|
Если теперь нажать кнопку <img border="0" src="images/load.gif" width="16" height="17"> и в появившемся окне
|
|
|
|
|
|
<b>PT4Load</b> ввести префикс
|
|
|
|
|
|
</span><span lang="en-us"><code>DM</code></span><span lang="ru"> в поле «Задание», то окно примет следующий вид:
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</span></p>
|
|
|
|
|
|
<p><img border="0" src="images/dmmake3.PNG">
|
|
|
|
|
|
</p>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Мы видим, что группа заданий mydm появилась в списке доступных групп для исполнителя Чертежник. Наберем имя задания
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<span lang="en-us"><code>mydm1</code></span>:</p>
|
|
|
|
|
|
<p>
|
|
|
|
|
|
<img border="0" src="images/dmmake4.PNG">
|
|
|
|
|
|
</p>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>После нажатия клавиши <span lang="en-us"><b>Enter</b> </span>в рабочем каталоге будет создан
|
|
|
|
|
|
новый файл <span lang="en-us">DMmydm1.pas </span>со следующим содержимым:</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
<blockquote>
|
|
|
|
|
|
<p><code><b>uses</b> <span lang="en-us">Drawman</span>, <span lang="en-us">
|
|
|
|
|
|
DM</span>Tasks;<br>
|
|
|
|
|
|
<br>
|
|
|
|
|
|
<b>begin</b><br>
|
|
|
|
|
|
Task('my<span lang="en-us">dm</span>1');<br>
|
|
|
|
|
|
<br>
|
|
|
|
|
|
<b>end</b>.</code></p>
|
|
|
|
|
|
</blockquote>
|
2025-11-07 16:12:31 +03:00
|
|
|
|
<p>Можно попытаться решить :)</p>
|
2018-08-02 22:04:49 +03:00
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
|
|
</html>
|