одження тесту;
Інформація про студентів може бути доступна або у вигляді зовнішнього файлу (зберігатися на диску), або як вручну введені дані в самому додатку.
Вихідними даними буде створена база даних, яку можна записати у файл. Також, згідно з технічним завданням програма повинна виводити вихідні дані на екран монітора.
2. ПРОЕКТУВАННЯ ПРОГРАМИ
Спираючись на поставлені завдання в попередньому пункті, приступимо до проектування програми.
Для зберігання інформації про студентів необхідно створити новий тип даних виду запис, поля якої можуть зберігати наступну інформацію про кожного з студентів:
Номер запису. Тип даних - integer;
Прізвище. Тип даних - string;
Назва. Тип даних - string;
По батькові. Тип даних - string;
Назва предмета. Тип даних - string.
Дата і час. Тип даних - date.
Кількість даних питань. Тип даних - integer.
Кількість правильних відповідей. Тип даних -integer.
Наступним кроком проектування необхідно вирішити, яким чином дані про студентів будуть зберігатися на жорсткому диску. Рішення даної проблеми є зберігання даних в типизированном файлі.
Таким чином, для роботи з файлом необхідно розробити наступні процедури і функції:
Процедуру для збереження бази даних у файл.
Процедуру читання даних з бази даних.
Інтерфейс програми повинен мати такі особливості:
Надавати користувачеві можливість відкриття бази даних, збереження змін в базі даних;
Надавати можливість виведення на дисплей інформації;
. Можливість додавати нову інформацію;
. Можливість видалення інформації;
. Можливість сортування інформації;
. Можливість пошуку інформації;
. Можливість перевірки на некоректний введення даних.
. 1 Використовувані компоненти при розробці програми
При розробці програми були використані наступні стандартні модулі: CRT.
Модуль CRT призначений для роботи з текстовим вікном. Він написаний для сумісності з Turbo Pascal. В якості текстового використовується графічне вікно модуля GraphABC, при цьому заборонено зміну розмірів вікна і введення/висновок здійснюється безпосередньо в текстовому вікні. У результаті виведення може здійснюватися скроллінгом текстового екрана.
Підключивши модулі CRT і GraphABC одночасно, можна поєднувати висновок тексту і графіки. При цьому, однак, заборонено зміну розмірів вікна, рекомендується також перед графічним виводом відключати курсор. Нарешті, спільне використання модулів CRT і Events не рекомендується.
. ОПИС ПРОГРАМИ
Програма розбита на модулі ProcedureAndFunction, Type_and_Var. Розглянемо деякі процедури описані в програмі:
Процедура Output служить для виведення бази даних на екран. Вхідні дані відсутні. файл тестування дані база
Procedure OutputData ;: boolean;: integer ;: string ;; (Number); (4, WhereY); (Element.Surname); (4, WhereY + 1); (Element.Name); (4, WhereY + 1); (Element.Patronymic); (22, WhereY - 2); :=1;:=true; (TempInt lt; Length (Element.Title)) and TempFlag do (TempInt gt; 10) and (Element.Title [TempInt]= ) then (Copy (Element.Title, 1, TempInt)); :=false; ; not TempFlag then (22, WhereY + 1); (Copy (Element.Title, TempInt + 1, Length (Element.Title))); ; (TempInt) ;; TempFlag then (Element.Title) ;;; (52, WhereY - 1); (Element.NumberQuestions); (62, WhereY); (Element.NumberAnswer); (70, WhereY); (Element.Time.Day div 10, Element.Time.Day mod 10, . Raquo;, Element.Time.Month div 10, Element.Time.Month mod 10, . Raquo;, Element.Time.Year ); (70, WhereY); (Element.Time.Hour div 10, Element.Time.Hour mod 10, : , Element.Time.Minutes div 10, Element.Time.Minutes mod 10);
writeln ;;
Процедура InputElement заповнення запису. Вхідні дані, рядки: InputElement (var Element: body) ;: string;, tempInt: integer; ( прізвище: ); (tempS) ;. Surname:=tempS; ( Ім'я: ); (tempS) ;. Name:=tempS; ( батькові: ); (tempS) ;. Patronymic:=tempS; ( Назва предмета: ); (tempS ) ;. Title:=tempS;
write ( Кількість даних питань: );
readln (tempCH) ;. NumberQuestions:=tempCH;:=true; flag do
write ( Кількість прав...