Курсовая работа: Разработка программы с помощью языка программирования Delphi
-
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 |
Процедура BitBtn1Click предназначена для анализа
ответа и вывода очередного вопроса или итоговой оценки. Алгоритм выполнения
процедуры приведен на рисунке А.2 приложения А.
В теле процедуры выполняются следующие действия:
Если текущий номер вопроса меньше общего количества вопросов, то формируется
строка S c вопросом и выбранным ответом и записывается в файл протоколов f. Сравнивается
выбранный номер ответа (RGroup1. ItemIndex) с номером правильного ответа
(BasaV.test[curN].Korans) и, если он совпадает, то наращивается количество
правильных ответов Ratio. Наращивается номер текущего вопроса curN. И очередной
вопрос с вариантами ответов выводится на форму.
Если все вопросы были заданы (curN равно
количеству вопросов), то рассчитывается итоговая оценка как (Ratio*12)/(общее
количество вопросов) и записывается в файл протокола, а также выводится
сообщение в виде диалогового окна с оценкой. Также становится видимой кнопка
BNewtest c надписью «Начать заново», позволяющая перейти на форму авторизации. Во
избежание подбора ответов выводится только последняя итоговая оценка без
указания в каких вопросах были сделаны ошибки.
4. Инструкция
оператору
Разработанная программа представляет собой
исполняемый файл Tester.exe размером 422912 байт. В программе выполняется тестирование
пользователя основам языка Pascal.
После запуска программы появляется окно, изображенное
на рисунке 4.1.

Рисунок 4.1 – Окно
авторизации
В этом окне учащийся должен задать свою фамилию и
группу, после чего нажать на кнопку с надписью «НАЧАТЬ». После этого появится
вторая форма с тестовыми вопросами, изображенная на рисунке 4.2. Заметим, что
порядок вопросов при каждом новом запуске случайный, поэтому содержание поля
вопроса и ответом может быть иным.

Рисунок 4.2 – Окно тестирования
Пользователь должен выбрать только один из
четырех предложенных вариантов ответа, щелкнув по соответствующей метке с
вариантом ответа, при этом напротив варианта ответа в кружочке должна появиться
отметка .
После этого следует нажать на кнопку .
Страницы: 1, 2, 3, 4, 5 |