3. Описание программных модулей

  3.1 Описание переменных и объектов

В программе используется переменная FormAvto, которая представляет собой экранную форму. Объекты экранной формы были приведены в таблице 2.1. У формы имеется лишь один обработчик нажатия на кнопку BitBtnStart. Текст обработчика приведен в строках 26–32 листинга из приложения Б. В теле обработчика происходит считывание введенных имени и фамилии учащегося и его группы в переменные, после чего исходная форма скрывается и активизируется форма тестирования.

Переменная FormTest, представляет собой экранную форму, объекты которой приведены в таблице 2.2.

В разделе var опишем переменные, приведенные в таблице 3.1

Таблица 3.1 – Переменные программы

Наименование Тип Назначение
SFam, SGr String хранение фамилии и группы учащегося
fName String имя текстового файла для записи протокола
f TextFile переменная для работы с текстовым файлом
BasaV CVoprosi класс, хранящий базу вопросов и ответы
CurN byte номер текущего вопроса из базы
Ratio byte количество правильных ответов

Для хранения базы вопросов разработаем пользовательский класс CVoprosi. В классе содержится одно поле и два метода. Поле test – это динамический массив, в котором хранятся вопросы и ответы. При это каждый тест храниться в виде записи типа TTest со следующими полями:

-  Vopr: string – содержит вопрос теста;

-  ans: array [0..3] of string – содержит 4 варианта ответов;

-  korans: byte – содержит вариант правильного ответа (его номер в массиве ans).

Для формирования базы ответов создан метод AddTest (_vopr, _ans0, _ans1, _ans2, _ans3:string; _korans:byte), которому в качестве параметров передаются вопрос, четыре варианта ответов и номер правильного ответа, а в теле метода происходит увеличение длины массива с тестами на единицу и текущий тест записывается в конец массива.

Второй метод класса CVoprosi. Mix предназначен для перемешивания базы вопросов. В нём организован цикл, в теле которого генерируются два произвольных числа i1 и i2 в интервале от 0 до количества вопросов в базе каждое. После чего вопросы с номерами i1 и i2 меняются местами.

В разработанной программе содержится описание пользовательских процедур и обработчиков событий, которые приведены в таблице 3.2.

Таблица 3.2. Пользовательские процедуры и обработчики событий

Наименование Обр-к Назначение Строки
BitBtnStartClick + переход на форму тестов после нажатия «НАЧАТЬ» 26–32
FormCreate + формирование базы вопросов при создании фомры тестирования 108–156
FormActivate + инициализация тестирования (перемешивание, сброс количества ответов и номера текущего вопроса, вывод первого вопроса) при активизации формы тестирования 157–182
BitBtn1Click + анализ введенного ответа и вывод очередного вопроса или итоговой оценки 183–228
BNewTestClick + закрытие формы тестов и переход на форму авторизации при нажатии на «Начать заново» 229–235
AddTest

 

добавление нового теста в базу 78–90
Mix перемешивание базы тестов случайным образом 91–107

3.2 Описание процедуры BitBtn1Click

Процедура BitBtn1Click предназначена для анализа ответа и вывода очередного вопроса или итоговой оценки. Алгоритм выполнения процедуры приведен на рисунке А.2 приложения А.

В теле процедуры выполняются следующие действия: Если текущий номер вопроса меньше общего количества вопросов, то формируется строка S c вопросом и выбранным ответом и записывается в файл протоколов f. Сравнивается выбранный номер ответа (RGroup1. ItemIndex) с номером правильного ответа (BasaV.test[curN].Korans) и, если он совпадает, то наращивается количество правильных ответов Ratio. Наращивается номер текущего вопроса curN. И очередной вопрос с вариантами ответов выводится на форму.

Если все вопросы были заданы (curN равно количеству вопросов), то рассчитывается итоговая оценка как (Ratio*12)/(общее количество вопросов) и записывается в файл протокола, а также выводится сообщение в виде диалогового окна с оценкой. Также становится видимой кнопка BNewtest c надписью «Начать заново», позволяющая перейти на форму авторизации. Во избежание подбора ответов выводится только последняя итоговая оценка без указания в каких вопросах были сделаны ошибки.



Информация о работе «Разработка программы с помощью языка программирования Delphi»
Раздел: Информатика, программирование
Количество знаков с пробелами: 30480
Количество таблиц: 4
Количество изображений: 10

Похожие работы

Скачать
36935
4
14

... курс. - М.: Нолидж, 2000. 4.  Фаронов В.В. «DELPHI. Программирование на языке высокого уровня». – Питер, 2005. 5.  Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмические языки»– Северодонецк, 2005.   ПРИЛОЖЕНИЕ А Алгоритм программы Рисунок А.1 – Обработка событий главной формы программы Рисунок А.2 – ...

Скачать
14945
0
7

... к сожалению, обратное утверждение не верно. C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр. Delphi — язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi ...

Скачать
44688
14
5

... . И хотя, используя недокументированные возможности и определённые ухищрения, всё это можно реализовать и на VB; пользоваться этими трюками гораздо сложнее, чем, например, на Delphi. 4. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА ПРОГРАММИРОВАНИЯ DELPHI   4.1 Задача 1. Примитивный калькулятор   1. Войдите в среду Delphi, дважды щелкнув мышью на пиктограмму Delphi или через меню “ ...

Скачать
20594
4
8

... из 1 откомпилированного exe файла – Метод Симпсона.exe и rar-архива содержащего все компоненты программы написанных на языке программирования – Delphi 7.0. 1.         Запуск программы осуществляется путем открытия файла Метод Симпсона .exe. Рис 1.   2.         Ввод значений производится следующим образом: Рис 2.   Ввод функции f(x) – в данное ...

0 комментариев


Наверх