Реферат: Тест программных программ
Естественно, что при поиске файла программа может его не найти, в этом случае выдается ошибка поиска. Требовалось ее обойти, выдавая собственное сообщение программы. Это осуществляется следующим образом: задается директива компиллятора на его отключение $I-, проверяется нулевой результат IORESULT=0, выдается сообщение и компиллятор включается снова $I+ . Я использовал эту функцию компиллятора там, где необходимо осуществить поиск файла. Такая функция обхода компилятора называется обработкой сообщений и является составляющей объектного програмимирования.
Функция открытия теста выглядит сложнее. Она открывает указанный файл, считывает сначала пароль входа и запрашивает его, затем приступает к выполнению теста. На экран выводится вопрос и ожидается ввод цифры правильного ответа. Причем включается таймер и по завершении работы с тестом или по истечении времени программа выходит из данной функции и передает управление подпрограмме подсчета результатов и регистрации:
Procedure OpenF;
label l1;
Var f1:string; {объявление локальных переменных}
Begin
p:=0;
Window(10,10,53,15);
TextBackGround(black);
TextColor(black);
clrscr;
Window(20,10,66,15); {начальное окно}
TextBackGround(blue);
clrscr;
Writeln('какой файл открыть ');
Readln(a); {ввод пути к файлу без расширения}
a:=a+'.ts'; {прибавление расширения}
Assign(c,a); {связь переменной с файлом вопросов}
f1:=a;
a:=a+'o'; {изменение расширения}
Assign(u,a); {связь переменниой с файлом ответов}
delete(a,length(a),1);
Assign(b1,'c:\pascal\registr.dat'); {связь переменной с файлом отчета}
Append(b1); {открытие файла отчета для дозаписи}
Reset(c); {открытие файла вопросов для чтения}
Window(20,10,66,15); {закрытие начального окна}
TextBackGround(black);
clrscr;
Reset(u);