Task('TMDemoAbc1?');
end.
При запуске этой программы на экран будет выведено окно задачника для группы TMDemoAbc в демонстрационном режиме, причем в качестве текущего будет выбрано первое задание данной группы (демонстрационный режим устанавливается благодаря символу ?", указанному после имени задания). Для отображения в окне задачника сразу после запуска программы другого существующего задания этой группы достаточно указать его номер в параметре процедуры Task. Можно также удалить номер, указав символ "?" сразу после имени группы заданий: Task('TMDemoAbc?'). В этом случае при запуске программы будет отображаться последнее задание, входящее в группу.
Модуль PT4TaskMakerNET: основные компоненты
Если процедура имеет необязательные параметры, то в списке параметров они заключаются в квадратные скобки.
Определение общих характеристик группы заданийПри создании новой группы заданий требуется определить следующие характеристики этой группы:
имя группы (GroupName) -- текстовая строка, содержащая от 1 до 25 символов -- цифр и латинских букв, причем последний символ не может быть цифрой (если имя группы содержит более 9 символов, то она считается особой библиотечной группой, работа с которой отличается от работы с обычной группой); запрещается использовать имена стандартных групп задачника (Begin, Integer и т. д.); имена, различающиеся только регистром букв, считаются совпадающими; описание группы (GroupDescription) -- непустая текстовая строка с кратким описанием данной группы; при генерации полного описания группы в виде html-страницы данная строка указывается в качестве заголовка этого описания; сведения об авторе (GroupAuthor) -- текстовая строка с информацией о разработчике данной группы (фамилия, инициалы, год разработки, e-mail и т. п.; строка может быть пустой); ключ группы (GroupKey) -- непустая текстовая строка с произвольным набором символов, позволяющая в дальнейшем идентифицировать в файле результатов results.dat и results.abc те выполненные задания, которые относятся к данной группе; количество заданий в группе (TaskCount) -- целое число в диапазоне от 1 до 999, определяющее количество заданий в группе; основная процедура группы заданий (InitTaskProc) -- процедура с одним целочисленным параметром, обеспечивающая инициализацию всех заданий данной группы (параметр данной процедуры определяет номер задания в пределах группы). Из перечисленных характеристик в дополнительном комментарии нуждается ключ группы. Если не использовать подобную характеристику, то становится невозможной идентификация группы, к которой относятся задания, выполненные учащимся. Действительно, имя задания, сохраненное в файле результатов, не позволяет однозначно его идентифицировать, поскольку ничто не мешает разработать другую группу с тем же именем и совершенно другими заданиями, после чего подменить" ею исходную группу. Проблему решает использование ключа группы, который сложно подделать, так как он известен только разработчику группы. При успешном выполнении задания в файл результатов дополнительно записывается идентификатор группы, вычисляемый на основе ее ключа и позволяющий однозначно определить группу, к которой относится выполненное задание. Поскольку информация, связанная с идентификаторами групп, представляет интерес только для преподавателя, ознакомиться с ней можно только с помощью программы "Контрольный центр преподавателя", входящей в комплекс Teacher Pack.
Примечание. При выводе краткого описания группы в программных модулях PT4Demo и PT4Load первый символ этого описания преобразуется к нижнему регистру (поскольку текст описания располагается в этих модулях после двоеточия). Если понижать регистр первого символа не следует (в случае, если этот символ является началом фамилии или некоторой аббревиатуры, например, ЕГЭ"), то в начале краткого описания группы надо указать дополнительный символ-метку "^" (шапочка). Пример использования символа "^" приводится в разделе "Разработка групп заданий, связанных с ЕГЭ по информатике".
Для определения характеристик новой группы необходимо вызвать процедуру CreateGroup, указав эти характеристики в качестве параметров:
procedure CreateGroup(GroupName, GroupDescription, GroupAuthor,
GroupKey: string; TaskCount: integer; InitTaskProc: TInitTaskProc);
Тип TInitTaskProc определяется следующим образом:
type TInitTaskProc = procedure(n: integer);
Процедуру CreateGroup необходимо вызывать в процедуре inittaskgroup, которая должна экспортироваться библиотекой, содержащей данную группу.