2. Разработка экранных форм и алгоритма программы
В предыдущем разделе было сказано, что процесс решения поставленной задачи разбивается на 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. Также в алгоритме следует предусмотреть, что в начале тестирования кнопка с надписью «Начать заново» должна быть невидимой, и должна появляться только после ответа на все вопросы и вывода итоговой оценки.
Анализируя все вышеизложенные предположения и разработанные формы, можем составить словесные алгоритмы приложения.
1. Запустить экранную форму авторизации FormAvto
2. При нажатии на кнопку «Начать» следует выполнить действия:
2.1 Сгенерировать базу вопросов, и перемешать их случайным образом;
2.2 Сформировать имя файла из имени студента и его группы и открыть файл для записи;
2.3 Обнулить количество правильных ответов;
2.4 Установить номер текущего вопроса на первый вопрос;
2.5 Скрыть форму FormAvto и показать форму с тестами FormTest;
2.6 Показать первый вопрос и варианты его ответов на форме FormTest;
2.7 Ожидать нажатия на кнопку «Принять ответ».
3. При нажатии на кнопку «Принять ответ» следует выполнить действия:
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 – процедурой FormTest BNewTestClick,
блок №8 реализован процедурой FormTest. BitBtn1Click.
Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах.
... курс. - М.: Нолидж, 2000. 4. Фаронов В.В. «DELPHI. Программирование на языке высокого уровня». – Питер, 2005. 5. Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмические языки»– Северодонецк, 2005. ПРИЛОЖЕНИЕ А Алгоритм программы Рисунок А.1 – Обработка событий главной формы программы Рисунок А.2 – ...
... к сожалению, обратное утверждение не верно. C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр. Delphi — язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi ...
... . И хотя, используя недокументированные возможности и определённые ухищрения, всё это можно реализовать и на VB; пользоваться этими трюками гораздо сложнее, чем, например, на Delphi. 4. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА ПРОГРАММИРОВАНИЯ DELPHI 4.1 Задача 1. Примитивный калькулятор 1. Войдите в среду Delphi, дважды щелкнув мышью на пиктограмму Delphi или через меню “ ...
... из 1 откомпилированного exe файла – Метод Симпсона.exe и rar-архива содержащего все компоненты программы написанных на языке программирования – Delphi 7.0. 1. Запуск программы осуществляется путем открытия файла Метод Симпсона .exe. Рис 1. 2. Ввод значений производится следующим образом: Рис 2. Ввод функции f(x) – в данное ...
0 комментариев