Курсовая работа: Разработка программы с помощью языка программирования Delphi

3.1 Проанализировать выбранный вариант ответа и сравнить его с правильным, и если ответ правильный, то нарастить количество правильных ответов на 1;

3.2 Записать в файл протокола текущий вопрос и вариант, который выбрал пользователь в качестве ответа;

3.3 Если номер текущего вопроса меньше общего количества вопросов в базе, то нарастить номер на 1, вывести очередной вопрос на форму и перейти к началу пункта 3.

3.4 Если номер текущего вопроса равен количеству вопросов в базе, то:

3.4.1.подсчитать оценку пропорционально количеству правильных ответов;

3.4.2.показать сообщение с оценкой;

3.4.3.сделать кнопку «Начать заново» видимой

4. При нажатии кнопки «Начать заново» закрыть форму с тестами FormTest и показать форму авторизации FormAvto.

Анализируя требования к функциям разрабатываемого приложения под разработанные экранные формы и словесный алгоритм, можно выделить следующие программные модули:

1) Генерация базы вопросов;

2) Перемешивание базы вопросов случайным образом;

3) Анализ текущего ответа и переход на следующий вопрос, если вопрос не последний либо вывод результатов тестирования при достижении последнего вопроса;

4) Модули перехода между экранными формами авторизации и тестирования.

Каждый из вышеприведенных модулей реализуем при помощи процедуры. Модуль 1 целесообразно запускать один раз при создании формы с тестами. Модуль 2 следует запускать каждый раз при начале нового теста, то есть при активизации формы с тестами. Модель 3 должен запускаться каждый раз при нажатии на кнопку «Принять ответ». Модули 4 должны быть обработчиками нажатий на кнопку «Начать» экранной формы авторизации и кнопку «Начать заново» экранной формы тестирования.

Составим алгоритм приложения, который представлен в приложении на рисунке A.1. На алгоритме приведены основные события экранных форм. В этом алгоритме:

Блок №4 реализован процедурой FormAvto, BitBtnStartClick,

блок №5 – процедурой FormTest. FormCreate,

блок №6 – процедурой FormTest. FormActivate,

блок№7 – процедуройFormTestBNewTestClick,

блок№8 реализованпроцедуройFormTest. BitBtn1Click.

Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах.

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 варианта ответов;

К-во Просмотров: 552
Бесплатно скачать Курсовая работа: Разработка программы с помощью языка программирования Delphi