Конструктор учебных заданий для электронного задачника Programming Taskbook - 55 стр.

UptoLike

Составители: 

55
begin
Delete(s, p, 2);
p := Pos(#13#10#13#10, s);
end;
writeln(t1, s);
Close(t1);
ResultFileT(s1, 1, 5);
Rename(t2, s1);
DataFileT(s1, 2, 5);
DataS('Имя файла: ', s1, 0, 1);
SetTestCount(3);
end;
При реализации этих заданий используется вспомогательная функция
FileName(Len), позволяющая создать случайное имя файла длины Len (без расшире-
ния). Имя файла при этом будет содержать только цифры и строчные (маленькие) ла-
тинские буквы.
Имена файлов, полученные с помощью функции FileName, дополняются расши-
рением .tst (заметим, что в базовых группах File, Text и Param это расширение ис-
пользуется в именах всех исходных и результирующих файлов).
Функция FileName используется также для генерации элементов строкового
файла в процедуре MakerDemo6.
Для того чтобы предотвратить возможность случайного совпадения имен фай-
лов, в процедуре MakerDemo6 к созданным именам добавляются префиксы: 1 для
первого файла, 2 для второго, 3 для третьего. В процедуре MakerDemo7 имя времен-
ного файла дополняется префиксом #, что также гарантирует его отличие от имени
основного файла задания.
При реализации задания на обработку текстовых файлов для генерации содер-
жимого файла используются функции TextCount и TextSample (см. п. 2.7). Строка,
возвращаемая функцией TextSample, представляет собой текст, содержащий маркеры
конца строкисимволы #13#10. Указанные символы разделяют соседние строки
текста (в конце текста маркер конца строки не указывается). Благодаря наличию
маркеров конца строки полученный текст можно записать в текстовый файл с помо-
щью единственной процедуры writeln, которая, кроме записи текста, обеспечивает
добавление маркера конца строки в конец файла.
После разработки новых заданий необходимо изменить количество заданий в
вызове процедуры CreateGroup на 7 и включить вызовы новых процедур в основную
процедуру группы InitTask:
procedure InitTask(num: integer);
begin
case num of
1..2: UseTask('Begin', num);
3: MakerDemo3;
4: MakerDemo4;
5: MakerDemo5;
6: MakerDemo6;
7: MakerDemo7;
end;
end;
Приведем вид окна задачника для новых заданий (см. рис. 4 и 5).