Курсовая работа: Разработка программы с помощью языка программирования Delphi
Для формирования базы ответов создан метод 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 надписью «Начать заново», позволяющая перейти на форму авторизации. Во избежание подбора ответов выводится только последняя итоговая оценка без указания в каких вопросах были сделаны ошибки.
4. Инструкция оператору
Разработанная программа представляет собой исполняемый файл Tester.exe размером 422912 байт. В программе выполняется тестирование пользователя основам языка Pascal.
После запуска программы появляется окно, изображенное на рисунке 4.1.
Рисунок 4.1 – Окно авторизации
В этом окне учащийся должен задать свою фамилию и группу, после чего нажать на кнопку с надписью «НАЧАТЬ». После этого появится вторая форма с тестовыми вопросами, изображенная на рисунке 4.2. Заметим, что порядок вопросов при каждом новом запуске случайный, поэтому содержание поля вопроса и ответом может быть иным.
Рисунок 4.2 – Окно тестирования
Пользователь должен выбрать только один из четырех предложенных вариантов ответа, щелкнув по соответствующей метке с вариантом ответа, при этом напротив варианта ответа в кружочке должна появиться отметка .
После этого следует нажать на кнопку .
Появится новый вопрос, ответ на который реализуется аналогичным способом. Если были пройдены все вопросы, выводится сообщение с оценкой, которая пропорциональна количеству правильных ответов. Все ответы правильные – оценка равна 12. Все ответы неправильные – оценка равна 0. Пример окна с сообщением об оценке приведено на рисунке 4.3.
Рисунок 4.3
После этого можно вернуться на окно авторизации, чтобы пройти тест заново, нажав на кнопку .
Протокол с вариантами ответов, которые были введены учащимся заносятся в текстовый файл на жестком диске с именем «<фамилия>+<группа>.txt» в том же каталоге, где находится исполняемый файл. Пример протокола с правильными вариантами ответов приведен в приложении В.
Выводы
Данный курсовой проект был выполнен в полном соответствии поставленному заданию и отлажен в среде DELPHI 7.0. В ходе выполнения курсовой работы была разработана программа для тестирования студентов по программированию с графическим интерфейсом. База содержит 20 вопросов по основам языка Pascal. Программа может бать использована в образовательных целях.
В качестве дальнейшего развития возможна доработка программы с целью поддержки множественных вариантов ответа, поддержкой текстового ввода в качестве ответа (без указания альтернатив), организации таймера и ограничения времени решения на каждый из вопросов, возможности пропустить некоторые вопросы, чтобы вернуться к ним и ответить на них в случае наличия времени и др.
В результате выполнения данной курсовой работы, я убедилась в широких возможностях языка программирования Delphi 7.
Перечень ссылок
1. Валентин Озеров «Советы по Delphi», 1999
2. Зуев Е.А. Программирование на языке Turbo Pascal 6. 0,7.0. – М.: Радио и связь, Веста, 1993.