Помощь в учёбе, очень быстро...
Работаем вместе до победы

Разработка экранных форм и алгоритма программы

РефератПомощь в написанииУзнать стоимостьмоей работы

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

Разработка экранных форм и алгоритма программы (реферат, курсовая, диплом, контрольная)

В предыдущем разделе было сказано, что процесс решения поставленной задачи разбивается на 3 этапа, первый из которых заключается в построении интерфейса с пользователем на основе экранных форм и визуальных объектов проектирования.

По сформулированной в предыдущем задании постановке должна иметься возможность авторизации тестируемого учащегося — ввода его фамилии и группы. Для этого предусмотрим отдельную форму авторизации FormAvto. Для возможности ввода данных об учащемся поместим на форме поля ввода типа TEdit и соответствующие метки описания к ним. Список объектов экранной формы приведен в таблице 2.1.

Таблица 2.1 — Объекты экранной формы FormAvto.

Имя.

Тип.

Назначение.

Label1.

TLabel.

надпись «Задайте фамилию, инициалы и группу учащегося».

Label2.

TLabel.

надпись «Фамилия».

Label3.

TLabel.

надпись «Имя».

Efam.

TEdit.

поле для вода фамилии учащегося.

EGroup.

TEdit.

поле для ввода группы учащегося.

BitBtnStart.

TBitBtn.

кнопка для начала теста с надписью «НАЧАТЬ».

Для начала теста предусмотрена кнопка типа TBitBtn, который в отличие от обычных кнопок типа TButton позволяет задавать не только текст, но и изображение. В обработчике нажатия на эту кнопку должна выводиться форма с вопросами. Внешний вид спроектированной формы приведен на рисунке 2.1.

Рисунок 2.1 — Внешний вид формы FormAvto.

Для вывода вопросов, ввода ответов пользователя предусмотрим отдельную форму FormTest. Список объектов, используемых в форме приведен в таблице 2.2, а внешний вид приведен на рисунке 2.2.

Таблица 2.2 — Объекты экранной формы FormTest.

Имя.

Тип.

Назначение.

Label1.

TLabel.

надпись «Текущий вопрос».

LbNom.

TLabel.

надпись, в которой будет выводиться номер текущего вопроса.

StaticText1.

TStaticText.

поле, в котором будет выводиться очередной вопрос.

RGroup1.

TRadioGroup.

поля для вывода вариантов ответов и их указания студентом.

BitBtn1.

TBitBtn.

кнопка «Принять ответ» для анализа ответа и перехода к следующему вопросу.

BNewTest.

TButton.

кнопка для закрытия формы тестов и перехода на форму авторизации (для новой попытки тестирования).

При построении формы предполагалось, что база вопросов будет построєна таким образом, чтобы ответ предполагал выбор только одного из перечисленных четырех вариантов ответов. То есть, база не должна содержать вопросов с множественным выбором, либо вариантов без правильного ответа. Также не должно быть вопросов, требующих ввода ответа в текстовом виде (например, ответ вычисленной формулы или правильное написание ключевого слова).

Рисунок 2.2 — Внешний вид формы FormTest.

Во избежание кратковременного завершения теста скроем системное меню окна, установив параметр формы FormTest. BorderIcons biSystemMenu равным false. Также в алгоритме следует предусмотреть, что в начале тестирования кнопка с надписью «Начать заново» должна быть невидимой, и должна появляться только после ответа на все вопросы и вывода итоговой оценки.

Анализируя все вышеизложенные предположения и разработанные формы, можем составить словесные алгоритмы приложения.

Запустить экранную форму авторизации FormAvto.

При нажатии на кнопку «Начать» следует выполнить действия:

Сгенерировать базу вопросов, и перемешать их случайным образом;

Сформировать имя файла из имени студента и его группы и открыть файл для записи;

Обнулить количество правильных ответов;

Установить номер текущего вопроса на первый вопрос;

Скрыть форму FormAvto и показать форму с тестами FormTest;

Показать первый вопрос и варианты его ответов на форме FormTest;

Ожидать нажатия на кнопку «Принять ответ».

При нажатии на кнопку «Принять ответ» следует выполнить действия:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

блок № 7 — процедурой FormTest BNewTestClick,.

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

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

Показать весь текст
Заполнить форму текущей работой