Добавим задание на разработку процедуры:
procedure DoCross;
begin
DoPenDown;
DoOnVector(1,0); DoOnVector(0,-1);
DoOnVector(1,0); DoOnVector(0,-1);
DoOnVector(-1,0); DoOnVector(0,-1);
DoOnVector(-1,0); DoOnVector(0,1);
DoOnVector(-1,0); DoOnVector(0,1);
DoOnVector(1,0); DoOnVector(0,1);
DoPenUp;
end;
procedure SecondDM;
begin
TaskText('Задание mydm2. Начертите, используя процедуру Cross');
Field(18,12);
DoToPoint(3,8);
DoCross;
DoToPoint(8,4);
DoCross;
DoToPoint(12,11);
DoCross;
DoToPoint(15,6);
DoCross;
end;
Добавим вызов процедуры регистрации для данного задания; в результате секция инициализации примет следующий вид:
begin
RegisterGroup('mydm','Мои задания для Чертежника','DMTasks',2);
RegisterTask('mydm1',FirstDM);
RegisterTask('mydm2',SecondDM);
end.
Изменим основную программу:
uses Drawman, DMTasks;
begin
Task('mydm2');
end.
При запуске этой программы в окне исполнителя Чертежник будет выведено новое задание:
При первом запуске программы с подключенным модулем DMTasks созданная нами группа была автоматически зарегистрирована в мастере по созданию программ-заготовок PT4Load. Если теперь нажать кнопку и в появившемся окне PT4Load ввести префикс DM в поле Задание", то окно примет следующий вид:
Мы видим, что группа заданий mydm появилась в списке доступных групп для исполнителя Чертежник. Наберем имя задания mydm1:
После нажатия клавиши Enter в рабочем каталоге будет создан новый файл DMmydm1.pas со следующим содержимым:
uses Drawman, DMTasks;
begin
Task('mydm1');
end.
Можно попытаться решить :)
Начиная с версии 4.11, новые группы заданий, доступные для всех поддерживаемых задачником сред, можно разрабатывать не только на языке Pascal, но и на языках C++ и C#, причем конструктор для языка Pascal можно использовать и в среде PascalABC.NET. Конструктор для среды PascalABC.NET реализован в виде модуля PT4TaskMakerNET.
Каждая группа учебных заданий оформляется в виде отдельной динамической библиотеки (dll-файла). Dll-файлы с новыми группами могут находиться либо в рабочем каталоге учащегося, либо в подкаталоге Lib системного каталога задачника. Подключение новых групп происходит автоматически при инициализации задания, поэтому вид проекта-заготовки при работе с новыми группами не отличается от стандартного вида проекта, ориентированного на базовые группы заданий. Кроме того, новые группы автоматически добавляются в список доступных групп в программных модулях PT4Demo и PT4Load. Созданные в виде dll-файлов новые группы заданий могут использоваться не только в любых средах программирования, поддерживаемых универсальным вариантом задачника, но и в среде PascalABC.NET; для этого достаточно разместить dll-файл в подкаталоге PT4\Lib системного каталога PascalABC.NET или в рабочем каталоге учащегося.
Конструктор учебных заданий представляет собой набор констант, функций и процедур, предназначенных для определения каждого из входящих в группу заданий, а также для настройки свойств группы в целом.
Ниже перечислены элементы, входящие в конструктор PT4TaskMaker: