Glava_2 (Разработка лабораторного практикума Создание тестирующей программы)
Описание файла
Документ из архива "Разработка лабораторного практикума Создание тестирующей программы", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "Glava_2"
Текст из документа "Glava_2"
2. РАЗРАБОТКА ПРОГРАММЫ
2.1. Постановка задачи
Разработать лабораторный практикум по теме: «Создание тестирующей программы». Программа должна содержать заставку с названием проекта, и перечень вопросов с вариантами ответов, из которых нужно выбрать правильный. По окончании тестирования должен быть выдан результат тестирования.
2.2. Алгоритм реализации работы
Лабораторный практикум реализуется в десять этапов, в каждом из них происходит усложнение задачи.
На первом этапе создается заставка, содержащая название тестирующей программы. В качестве примера производится тестирование на знание программы Microsoft Excel из пакета программ Microsoft Office 2000.
Необходимо создать проект для запуска заставки тестирующей программы, которая будет отображаться на экране 10 секунд (рис.1).
Для этого необходимо задать свойства компонентов (табл.2), и создать процедуру завершения показа заставки TForm1.Timer1Timer (Приложение 1).
Таблица 2
Свойства компонентов
Form1 | Caption | Приглашение к тестированию |
WindowState | максимальное окно | |
Color | clGreen | |
Image1 | Picture | вставка из файла, в котором сохранена копия экрана окна EXCEL |
Label1 | Caption | Программа тестирования по пакету Microsoft EXCEL |
WordWrap | True | |
Font | Times New Roman, 20 p, полужирный, белый, выровнен по центру | |
Color | clGreen | |
Timer1 | Interval | 5000 |
Events | OnTimer – Close; (закрытие формы) |
Рис.1. Задание 1, форма 1
На втором этапе создается проект для запуска вопроса с вводом ответа тестирующей программы (Project2, Unit2.pas, Form2). Пример проекта приведен на рис.2.
Рис.2. Проект второго этапа
Таблица 3
Свойства компонентов
Form2 | Caption | Вопрос с вводом ответа |
WindowState | нормальное окно | |
Color | clInfoBk | |
Label1 | Caption | Текст вопроса |
WordWrap | True | |
Font | Times New Roman, 16 p, полужирный, синий, выровнен по центру, на белом фоне | |
Edit1 | Font | Times New Roman, 16 p, красный |
Button2 | (Exit) | процедура закрытия формы |
Button1 | (OK) | обработка введенного ответа |
Для этого необходимо задать свойства компонентов (табл.3), и создать процедуру проверки правильности ответа на вопрос TForm2.Button1Click (Приложение 1).
На форме показывается вопрос, и в поле ввода ожидается ответ. После ввода ответа происходит его передача в переменную S (блок 2), перевод всех букв в верхний регистр, и проверка этой переменной (блок 3). Если введенный ответ совпадает с правильным, то происходит вывод сообщения о правильности ответа (блок 5), и закрытие формы (блок 6). Иначе происходит вывод сообщения о том, что ответ неверен (блок 4).
На форме также присутствует кнопка Exit, которая позволяет прервать работу программы и выйти в систему (кнопка выхода).
На третьем этапе необходимо создать проект для запуска заставки, а затем через 10 сек вопроса с вводом ответа (Project3, Unit1.pas, Unit2.pas). Для этого необходимо открыть первый проект, добавить в него модуль Unit2 из проекта 2. В коде модуля Unit1 необходимо в разделе описания модулей добавить второй модуль (Unit2), а в процедуре Timer1Timer убрать команду Close, вместо которой необходимо отключить таймер, сделать первую форму невидимой, и активизировать вторую форму (Приложение 1 и 2). А также в коде модуля Unit2 вместо Close необходимо ввести команду Application.Terminate (блок 2).
На четвертом этапе нужно создать проект для вопроса с выбором ответа из выпадающего списка (Project4, Unit4.pas, Form4). Пример такой формы приведен на рис.3.
Необходимо задать также свойства компонентов (табл.4).
Таблица 4
Свойства компонентов
ComboBox1 | Text | Ответ из списка |
Items | Список ответов (например, Простой Вычисляемый Сравнивающий) | |
Button1 | (OK) | обработка выбранного ответа |
Рис.3. Вопрос с выбором ответа из выпадающего списка
В списке варианты ответов заранее заданы, поэтому необходимо выполнить обычный выбор необходимо ответа. Выбранный ответ сравнивается с эталонным (Приложение 2), и если он правильный, программа завершает свою работу (блок 3).
На пятом этапе необходимо создать проект для вопроса с выбором одного ответа (Project5, Unit5.pas, Form5). Пример такого проекта приведен на рис.4.
Рис.4. Вопрос с выбором ответа
Необходимо задать свойства компонентов, используемых в этом проекте (табл.4).
Таблица 4
Свойства компонентов
RadioButton1 | Caption | Первый ответ |
RadioButton2 | Caption | Второй ответ |
RadioButton3 | Caption | Третий ответ |
RadioButton4 | Caption | Четвертый ответ |
Button1 | (OK) | обработка выбранного ответа |
Правильный ответ находится в третьей радиокнопке, поэтому при выборе ответа, и нажатии на кнопку OK, происходит следующее: проверяется, какая радиокнопка была выбрана (Приложение 2, рис.14, блок 2), и если результат проверки положителен, то происходит завершение работы приложения (блок 3).
На шестом этапе нужно создать проект для вопроса с выбором нескольких правильных ответов (Project6, Unit6.pas, Form6). Пример такого проекта приведен на рис.5.
Рис.5. Вопрос с несколькими ответами
При выделении правильных ответов, и нажатии кнопки OK, происходит обработка ответа (Приложение 2). Если, при проверки условия, происходит совпадение (рис.15, блок2), то приложение завершает свою работу (блок 3). Кнопка Exit позволяет не отвечать на вопрос, и прервать выполнение этого приложения, т.е. она работает аналогично кнопкам Exit, описанным выше.
На седьмом этапе необходимо создать проект для вопроса с выбором ответа с помощью картинки (Project7, Unit7.pas, Form7). Пример такого проекта приведен на рис.6.
Рис.6. Вопрос с картинкой
В этом случае на форму помещаются компоненты CheckBox, а картинка создается в любом графическом редакторе, например в Adobe PhotoShop 6.0.
Обработка правильного ответа осуществляется аналогично предыдущему проекту (Приложение 2, рис.16). Проверяется условие совпадения ответа (блок 2), и в случае совпадения приложение завершает свою работу (блок 3).
На восьмом этапе необходимо дополнить Project3 новыми вопросами, представленными в этапах 4-7. Сохранить проект предлагается под именем Project8.
Для этого в каждом модуле при обработке кнопки ОК нужно сделать невидимой текущую форму и вызывать следующую форму по аналогии с третьим этапом, и по окончании тестирования сделать вывод количества и процента правильных ответов (рис.7).
Рис.7. Результат тестирования
Глобальные переменные, необходимые для подсчета количества и процента правильных ответов, необходимо объявить в специальном модуле UNIT0.pas. Этот модуль, не содержащий никакой формы, вставляется в проект по команде FILE NEW с выбором UNIT, а затем сохраняется как модуль UNIT0.pas. В каждом модуле в конструкции USES … нужно добавить UNIT0 (Приложение 6).
При вычислении результатов тестирования используется модуль Unit8, в котором вызывается процедура TForm8.FormActivate (Приложение 2, рис.17).
Здесь происходит преобразование переменных и вывод их на форму. Во-первых, общее количество вопросов (блоки 2 и 3), во-вторых, количество правильных ответов (блоки 4 и 5), и в-третьих подсчет процента правильных ответов и вывод его (блоки 6 и 7).
Все остальные процедуры построены аналогичным образом, согласно этапам 3-7 (Приложение 3).
На девятом этапе необходимо модифицировать проект восьмого этапа (Project8), разработав процедуру ввода исходной информации о вопросах и ответах из текстовых файлов. Для этого нужно создать пять (по количеству видов вопросов) текстовых файлов – 1.ТХТ, 2.ТХТ, 3.ТХТ, 4.ТХТ, 5.ТХТ.
Информацию в каждом файле набрать в виде:
Первая строка – текст вопроса
Вторая строка – номера правильных ответов
Третья, четвертая, пятая и шестая строки – варианты ответов
Седьмая строка – вид вопроса (1 – 5).
В модуле UNIT0 необходимо написать процедуру ввода из текстового файла (Приложение 4, рис.23). Здесь сначала открывается необходимый текстовый файл (блоки 2 и 3) и переменной-счетчику NSTR присваивается значение 1 (блок 4). После этого производится ввод вопроса из этого файла (блоки 5 и 6), потом читается правильный ответ (блоки 7 и 8). Далее считываются варианты ответов, которые помещаются в специальный массив Otvet (блоки 9-11), и номер (вид) вопроса (блоки 12 и 13).
После этого файл закрывается (блок 14) и процедура завершает свою работу (блок 15).
Для события формы FORM2 OnShow необходимо записать операторы вызова процедуры VVOD и назначения текста вопроса (Приложение 4, рис.24). В этой процедуре задается имя тестового файла 1.txt (блок 2), и вызывается процедура VVOD для чтения данных (блок 3). Далее проверяется условие совпадения вида вопроса (блок 4), и в положительном случае на форму выводится вопрос (блок 5).
Также необходимо исправить проверку на введенный ответ в обработке кнопки ОК (Приложение 4, рис.25).
Сначала обнуляются переменные количества правильных ответов, и общего количества вопросов. Потом считывается ответ из поля ввода (блок 2). В блоке 3 ответ проверяется, и при положительном результате проверки выводится сообщение, что ответ был правильным (блок 5) и к счетчику правильных ответов прибавляется единица (блок 6). В противном случае выводится сообщение о том, что ответ неверен (блок 4).
Далее, пройденный вопрос считается, с рабочего стола исчезает форма 2 и выводится форма 4 (блок 7). В случае нажатия кнопки Exit активизируется процедура Button2Click (Приложение 4, рис.26), которая завершает работу данного приложения.
При появлении на рабочем столе формы 4 активизируется процедура FormShow (Приложение 4, рис.27) в которой происходит аналогичная работа по вводу данных (блоки 2 и 3), и обработка номера вопроса для вывода (блоки 4 и 5). Далее выводятся возможные варианты ответов в компонент ComboBox (блоки 6 и 7).
При ответе на вопрос активизируется процедура Button1Click (Приложение 4, рис.29), которая работает аналогично процедуре Button1Click предыдущей формы, в которой вызывается следующая форма.
Во всех остальных формах работа процедур происходит аналогично вышеописанным (Приложение 4, рис.28 - 38).
В последней форме происходит преобразование необходимых переменных и вывод их на форму (Приложение 4, рис.39). Во-первых, общее количество вопросов (блоки 2 и 3), во-вторых, количество правильных ответов (блоки 4 и 5), и в-третьих подсчет процента правильных ответов и вывод его (блоки 6 и 7).
На десятом, последнем, этапе нужно продолжить модификацию проекта Project8, выполнив ввод исходной информации о вопросах и ответах из одного текстового файла 0.ТХТ.
Во всех модулях необходимо убрать назначение имени файла.
В модуле Unit0 в процедуре VVOD нужно добавить назначение имени файла 0.ТХТ.
В модуле Unit0 в процедуре VVOD требуется записать операторы вычисления номера строки NSTR начала ввода информации нового вопроса и цикл пустого чтения для пропуска ненужной информации (Приложение 5, рис.41).
Сначала, в этой процедуре, задается имя тестового файла 0.txt (блок 2), потом этот файл открывается (блок 3). Далее вычисляется номер строки начала ввода информации нового вопроса и пропускается ненужная информация (блоки 4-7).
После этого производится ввод вопроса из файла (блоки 8 и 9), потом читается правильный ответ (блоки 10 и 11). Далее считываются варианты ответов, которые помещаются в специальный массив Otvet (блоки 12-14), и номер (вид) вопроса (блоки 15 и 16).
После этого файл закрывается (блок 17) и процедура завершает свою работу (блок 18).
После этого во всех модулях отображения вопросов задать оператор изменения номера вопроса q:=q+1.
Все процедуры показа форм и обработки ответов остаются аналогичными девятому этапу (Приложение 5, рис.42 - 59).
31