Если параметр ProcessCount меньше или равен 1, то для инициализации задания используется соответствующий вариант процедуры CreateTask без данного параметра (при этом выходное значение параметра ProcessCount полагается равным 1, а задание выполняется в обычном, непараллельном" режиме).
Если параметр ProcessCount превосходит 36, то в окне задачника выводится сообщение об ошибке.
Способ использования параметра ProcessCount при инициализации задания по параллельному программированию зависит от того, какую роль" играет программа, вызвавшая процедуру CreateTask с параметром ProcessCount (см. таблицу).
Роль" программы
|
Входное значение параметра ProcessCount
|
Выходное значение параметра ProcessCount
|
Непараллельная программа-загрузчик, обеспечивающая запуск параллельного варианта программы
|
Используется (определяет число процессов при запуске параллельного варианта программы)
|
Всегда равно 0
|
Главный процесс параллельной программы (процесс ранга 0)
|
Не используется
|
Равно числу процессов в параллельной программе; используется при формировании входных и выходных данных
|
Подчиненный процесс параллельной программы
|
Не используется
|
Всегда равно 0
|
Непараллельная программа, обеспечивающая демонстрационный запуск учебного задания
|
Используется
|
Всегда равно входному значению; используется при формировании входных и выходных данных
|
procedureSetProcess(ProcessRank: integer);
Данная процедура устанавливает в качестве текущего процесса параллельного приложения процесс ранга ProcessRank. Все числовые исходные и контрольные данные связываются с текущим процессом. До первого вызова данной процедуры текущим процессом считается процесс ранга 0. Процедуру можно вызывать несколько раз с одним и тем же параметром (например, первый раз процесс делается текущим при определении связанных с ним исходных данных, а второй раз -- при определении его контрольных данных).
Параметр ProcessRank должен принимать значения в диапазоне от 0 до N - 1, где N -- количество процессов, возвращаемое параметром ProcessCount процедуры CreateTask. При нарушении этого условия выводится сообщение об ошибке Параметр процедуры SetProcess находится вне диапазона 0..N-1, где N -- количество используемых процессов ".
Модуль PT4TaskMakerNET: форматирование текста заданий
Общие сведения
В конструкторе учебных заданий PT4TaskMaker предусмотрена возможность форматирования текста заданий, а также преамбул для группы и ее подгрупп. Форматирование выполняется с помощью набора управляющих последовательностей (команд), большинство из которых имеет вид \ символ .
Используя управляющие последовательности, можно выполнять следующие действия по форматированию текста в окне задачника:
добавлять в текст специальные символы, в том числе символы шрифта Symbol и буквы западноевропейских языков; выделять фрагмент текста полужирным шрифтом; использовать в тексте нижние и верхние индексы; добавлять в текст задания ссылки на другие задания этой же группы, не указывая при этом название группы (что позволяет корректно изменять эти ссылки при включении задания в другие группы); добавлять в текст задания элементы, зависящие от текущего языка программирования (в частности, обозначения логических констант). Все описанные выше действия обеспечивают требуемое форматирование текста задания как в окне задачника, так и в html-описании данного задания. Аналогичное форматирование (в частности, использование нижних и верхних индексов) можно применять и в текстах комментариев, которые выводятся в окне задачника в разделах исходных и результирующих данных.
Кроме того, имеются управляющие последовательности, не влияющие на текст задания в окне задачника, однако обеспечивающие дополнительное форматирование этого текста (и текста комментариев для группы и ее подгрупп) в html-описании задания или группы заданий. Данные управляющие последовательности позволяют:
выделять имена переменных курсивом; использовать более разнообразное выделение фрагментов текста (помимо полужирного начертания можно установить курсивное начертание, выделение моноширинным шрифтом и специальное выделение); разбивать текст задания и преамбулы на отдельные абзацы; устанавливать для требуемых фрагментов текста режим вывода с центрированием или с отступом; обеспечивать вывод фрагментов текста в несколько столбцов, с возможностью установки способа выравнивания для каждого столбца. Напомним, что для вывода на экран html-страницы с описанием задания или группы заданий достаточно вызвать процедуру Task, указав в конце ее параметра (имени задания или группы заданий) суффикс #. Кроме того, html-страницы с описанием групп заданий можно генерировать с помощью модуля PT4Demo, используя кнопку
в окне этого модуля.
Читать дальше