Тестирующая программа на языке Delphi
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ПОСТАНОВКА ЗАДАЧИ 4
1.1. Формализация задачи 4
1.2. Задача 4
1.3. Необходимость автоматизации 5
2. ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 6
2.1 Среда разработки 6
2.2 Пользовательский интерфейс. 6
2.3 Аппаратные требования программы. 7
3. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ И ЕГО ОПИСАНИЕ 8
3.1. Алгоритм программы 8
3.2. Используемые процедуры 9
3.3. Описание компонентов 9
4. ПРИМЕНЕНИЕ ПРОГРАММЫ 12
4.1. Область применения 12
4.2. Описание программы 12
4.3. Инструкции по работе с программой 13
ЗАКЛЮЧЕНИЕ 16
ПРИЛОЖЕНИЯ 17
Полный листинг программы 17
СПИСОК ЛИТЕРАТУРЫ 25
ВВЕДЕНИЕ
Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала учреждений, т. е. практически во всех сферах деятельности человека. Испытуемому предлагается ряд вопросов (тест), на которые он должен ответить.
Обычно к каждому вопросу дается несколько вариантов ответа, из которых надо выбрать правильный. Суммируются очки за правильные ответы, получается общий балл, на основе которого выводится оценка об уровне подготовленности испытуемого.
История возникновения психологических тестов уходит далеко в глубь веков. Еще в древности люди пытались разобраться в своих личных проблемах, решая задачи с определенными заранее вариантами ответов.
Основное отличие теста от традиционной контрольной работы состоит в том, что он всегда предполагает измерение. Поэтому оценка, выставляемая по итогам тестирования, отличается большей объективностью и независимостью от возможного субъективизма учителя, чем оценка за выполнение традиционной контрольной работы, которая всегда субъективна, поскольку основана на впечатлении учителя, не всегда свободного от его личных симпатий или антипатий по отношению к тому, или иному ученику. Главная отличительная черта теста - объективность, гарантируемая измерением, функция которого состоит в том, чтобы поставлять количественную информацию.
Максимально повысить надежность измерения и ввлидность использования теста можно, если следовать трем основным этапам его создания:
1) дать ясное и недвусмысленнее теоретическое - научно-обоснованные определения умений, которые надо измерить;
2) точно установить условие и операцию, которых следует придерживаться при проведении теста;
3)
количественно определить
В данной курсовой работе была создана тестирующая программа по предмету «Основы алгоритмизации программирования». Она представляет собой опросник из 10 вопросов (случайно выбранных из базы «Access»), определяющих уровень знаний по заданной теме.
1.
ПОСТАНОВКА ЗАДАЧИ
1.1.
Формализация задачи
Процесс разработки программы можно начинать после определения исходных данных, требуемые для решения задачи, результаты решения, а также сам процесс решения.
Итак, процесс разработки программы происходит описанным ниже образом:
- Составление алгоритма программы (блок-схема);
- Анализ исходных данных;
- Выбор компонентов, которые будут использоваться для реализации программы;
- Разработка интерфейса программы;
- Программирование процедур и событий для компонентов программы
- Отладка программного проекта и устранение ошибок и недочетов.
Таким образом, для решения задачи требуются следующие исходные (входные) данные: результат решения (выходные данные)– результат прохождения теста.
На
этапе разработки алгоритма необходимо
определить последовательность действий,
которые надо выполнить для достижения
поставленной цели, получения результата.
Если задача может быть решена различными
способами, и, следовательно, возможны
различные варианты алгоритма решения,
то, программист, используя некоторый
критерий, выбирает наиболее подходящее
решение. Затем составляется подробное
составление алгоритма.
1.2.
Задача
Тестирующая программа по предмету «Основы алгоритмизации программирования». Составить программу в виде теста, позволяющую проводить проверку знаний учащихся по предмету «Основы алгоритмизации программирования». При завершении тестирования, программа должна выводить оценку тестируемого.
Программу
разработать на языке Delphi в среде
программирования Borland Delphi 7
1.3.
Необходимость автоматизации
Тестирование
в компьютерной форме исключает
возможность ошибки преподавателя
при проверке тестовых заданий, сводит
к нулю время, необходимое на проверку
(время ожидания оценки учащимися),
устраняет необходимость
Таким образом, можно сделать вывод, что данная тема чрезвычайно актуальна, особенно, в последние годы.
2.
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА
2.1
Среда разработки
Delphi
- язык программирования, который
используется в одноимённой
Как
говорилось ранее Delphi — результат развития
языка Турбо Паскаль, который, в свою очередь,
развился из языка Паскаль. Паскаль был
полностью процедурным языком. Турбо Паскаль,
начиная с версии 5.5, добавил в Паскаль
объектно-ориентированные свойства, а
Delphi — объектно-ориентированный язык программирования
с возможностью доступа к метаданным классов
(то есть к описанию классов и их членов)
в компилируемом коде, также называемом
интроспекцией. Так как все классы наследуют
функции базового класса TObject, то любой
указатель на объект можно преобразовать
к нему, после чего воспользоваться методом
ClassType и функцией TypeInfo, которые и обеспечат
интроспекцию. Также отличительным свойством
Delphi от С++ является то, что объекты по умолчанию
располагаются в динамической памяти.
Однако можно переопределить виртуальные
методы NewInstance и FreeInstance класса TObject. Таким
образом, абсолютно любой класс может
осуществить «желание» «где хочу - там
и буду лежать». Соответственно организуется
и «многокучность».
2.2
Пользовательский
интерфейс.
В
программе используется три объекта,
посредствам которых
- Переключатель «Начать тест» (запускает форму выполнения теста)
- Переключатель (с вариантами ответов на текущий вопрос)
- Кнопка «Далее-->>» (переход к следующему вопросу или завершение теста)
- Кнопка «Yes» (закрывает форму выполнения теста)
- Переключатель «Редактирование теста» (запускает форму редактирования вопросов теста)
- Кнопка «+» (добавляет вопрос, ответ)
- Кнопка «X» (удаляет вопрос, ответ)
- Переключатель «Справка» (запускает справку по программе)
Управление
осуществляется манипулятором мышь.
2.3
Аппаратные требования
программы.
Для запуска программы необходимо:
1 процессор: 250 МГц;
2 оперативная память: 16 Мбайт;
3 Рекомендуется отключить антивирусные программы до запуска данного приложения
4 OS Windows 98, 2000, ME, XP, Vista.
5 Установленное приложение Microsoft Office Access
3.
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
И ЕГО ОПИСАНИЕ
3.1.
Алгоритм программы
Организационная структура реализации алгоритма разработки программы схематически изображена на рисунке 3.1.
Рис.
3.1 Структура приложения
Рис. 3.2 Схема случайного расположения вапросов
3.2.
Используемые процедуры
По окончании процесса формализации нужно определить, какие процедуры будут использоваться.
В моей программе используются следующие процедуры:
- RadioButtonClick – процедура используется для выбора варианта работы с программой(выполнение теста, редактирование и справка).
- SpeedButtonClick – используется для добавления и удаления вопросов и вариантов ответов.
- FormClose – закрывает окно редактора вопросов
- ButtonClick – открывает окно редактора тестов, при правильно введено пароле, и ином случае переход к другому вопросу при ответе.
3.3.
Описание компонентов
Компонент
TGroupBox - Единственное назначение этого
компонента — служить предком (Parent) для
других компонентов. Это играет роль тогда,
когда они должны быть объединены в группу
по какому-либо признаку. Типичный пример
— радиокнопки. Когда одна из них нажимается,
все остальные радиокнопки в группе (т.
е. с одним значением свойства Parent) автоматически
отпускаются. Страница Палитры компонентов
Standard
Компонент
RadioButton - это "радиокнопка", и как
следует из названия, служит для "переключения
каналов", как и в настоящем радиоприёмнике.
Это значит, если выбран один из компонентов
Delphi RadioButton, то с остальных компонентов
выбор автоматически снимается. Получается,
что в данный момент может быть выбран
только один из группы компонентов Delphi
RadioButton.
Компонент
TDBGrid - Предназначен для просмотра
и редактирования всех записей связанного
с ним набора данных в развернутом виде.
Данные структурированы в табличном формате,
представление полей и расположение колонок
зависит от значений свойств компонентов
типа TField набора данных. Страница Палитры
компонентов DataControls.
Компонент
TLabel - Компонент представляет собой
статический текст. С помощью этого компонента
на рабочей поверхности формы можно отобразить
информацию, сделать пояснения и показать
названия других компонентов. Но он имеет
и другую важную функцию — если в составе
текста TLabel есть символы-акселераторы,
информация о их нажатии может передаваться
от TLabel другому. Страница Палитры компонентов
Standard.
Компонент
TSpeedButton - Эта кнопка с изображением может
иметь как зависимую, так и независимую
фиксацию. Она удобна для применения в
составе панелей инструментов. Если Grouplndex
равен нулю, у кнопки вообще нет фиксации
в нажатом состоянии и она не зависит от
остальных кнопок, принадлежащих тому
же родительскому элементу. Кнопки в группе
(то есть с одинаковым ненулевым значением
Grouplndex) имеют зависимую фиксацию. Страница
Палитры компонентов Additional.
Компонент
TImage - Этот компонент служит надстройкой
над классом TPicture и замыкает всю иерархию
графических объектов VCL. Он предназначен
для показа на форме изображения: битовой
карты (TBitmap), метафайла (TMetafile), значка (TIcon).
Страница Палитры компонентов Additional.
Компонент
TEdit - Этот компонент не содержит собственного
кода, в нем только опубликованы свойства
его предка TCustomEdit. Он представляет собой
редактируемую строку (далее — просто
редактор). Страница Палитры компонентов
Standard.
Компонент
TButton - Обычная кнопка Windows. В этом компоненте
опубликованы только приведенные выше
свойства Default, Cancel, Caption, ModalResult и OnClick. Двойной
щелчок на кнопке не предусмотрен. Страница
Палитры компонентов Standard.
Компонент
TDBText - Позволяет отображать содержимое
поля текущей записи связанного набора
данных. Ближайший аналог в VCL — компонент
TLabel, поэтому TDBText не предоставляет возможность
изменять отображаемое поле. Все изменения
данных в соответствующем поле текущей
записи оперативно отражаются в компоненте.
Компонент не имеет свойств или методов,
которые бы не были рассмотрены выше. Страница
Палитры компонентов DataControls.
Компонент
TDataSource - Является связующим звеном между
наборами данных, представленных компонентами
TTable, TQuery и TStoredProc, и визуальными компонентами
отображения и управления данными. Каждый
набор данных должен иметь по меньшей
мере один компонент TDataSource, так как TTable
и TQuery устанавливают соединение с базой
данных через BDE, но не умеют отображать
полученную информацию в формах приложения.
Визуальные компоненты отображают данные,
но не имеют представления о структуре
передаваемых таблиц.
Компонент
ТАDOTаblе обеспечивает использование
в приложениях Delphi таблиц БД, подключенных
через провайдеры OLE DB. По своим функциональным
возможностям и применению он подобен
стандартному табличному компоненту.
Компонент
TField - Предназначен для работы с полями
таблиц баз данных. Отсутствует в Палитре
компонентов, так как является абстрактным
компонентом и выступает предком для ряда
типизированных компонентов, которые
наследуют все базовые свойства и методы
для работы с полями. Объекты-наследники
автоматически создаются для каждого
используемого приложением поля при выполнении
приложения. Эти компоненты создаются
динамически в случае определения значения
True для свойства Active компонентов TTable и
TQuery.
4.
ПРИМЕНЕНИЕ ПРОГРАММЫ
4.1.
Область применения
Областью
применения программы в большой
степени является сфера образования.
Данная программа может применяться
в различных учебных
Программа
заметно помогает в образовательном
процессе. Сокращает время проверки
знаний и трудоемкость работ по проверке
результатов.
4.2.
Описание программы
При выполнении теста программа должна считывать вопросы из базы данных “Access”. При считывании вопросов программа каждый раз начинает с любого вопроса, то есть в различном порядке, а не так как они (вопросы) последовательно расположены в файле. У каждого вопроса есть четыре варианта ответа, причем один, только правильный. Количество вопросов в тесте указывается в программном коде, но это не означает, что в базе такое же количество вопросов. Пользователь во время теста не знает, правильно ли он ответил на данный вопрос. Это способствует тому, чтобы пользователь не заучивал правильный ответ. После прохождения полностью всего теста, появляется окно, информирующее о количестве набранных балов и оценке.
В
программе есть редактор вопросов для
тестирования. При работе с редактором
программа выводит в окно все
вопросы, которые имеются в базе
“Access” и варианты ответов с пометкой
о правильном ответе. Используя редактор
можно добавить или удалить вопросы. Использование
редактора в тестирующей программе тестирования
хорошо тем, что разработанная однажды
программа может использоваться в различных
предметных направлениях. Для доступа
в редактор предусмотрен пароль (смотрите
раздел 4.3).
4.3.
Инструкции по
работе с программой
При запуску программы закусается окно (рис. 4.3.1).
Рис. 4.3.1 Главное окно программы
На главном окне программы рассоложены три радио кнопки, которые запускают:
1)При выборе ( ) запускается окно (рис. 4.3.2) выполнения теста.
Рис. 4.3.2 Окно тестирования
Для ответа на вопрос выбираем правильный ответ, нажимая на соответствующую радио кнопку ( ). И нажимаем кнопку ( ), и так да последнего вопроса. Если не выбран один из ответов на вопрос то появится окно (рис. 4.3.3).
Рис. 4.3.3 Информирующее окно
При ответе на последний вопрос появится окно (рис. 4.3.4) с информацией о набранных балов и оценкой.
Рис.
4.3.4 Информирующее окно об оценке
2) При выборе ( ) запускается окно (рис. 4.3.5) ввода пароля модератора для редактирования вопросов.
Рис. 4.3.5 Окно ввода пароля
Вводим пароль (Пароль находиться в файле password.txt на диске с программой) и нажимает кнопку ( ) или клавишу «Enter».
Если пароль введен правильно, то появится окно (рис. 4.3.6) редактирования вопросов и вариантов ответов.
Рис.
4.3.6 Окно редактирования тестов
3)При выборе ( ) запускается окно справка (рис. 4.3.7) с инструкцией по работе с программой.
Рис.
4.3.7 Окно справка
Для завершения программы: теста, редактора, справки и т.д. (закрытия окон) нужно нажать кнопку ( ).
ЗАКЛЮЧЕНИЕ
В настоящее время в нашу жизнь широко внедряются информационные технологии. На сегодняшний день, наверное, не осталось такой области, где бы они ни применялись. Одной из сфер деятельности, в которой информационные технологии получили широкое распространение, является сфера образования.
Постоянно
растет объем и сложность
В ходе курсового проектирования разработана тестирующая программа. Проектирование выполнено в системе Delphi. В пояснительной записке:
- представлена информация о создании языка программирования;
- приведен теоретический материал о компонентах, используемых в программе;
- представлена блок-схема алгоритма работы тестовой программы;
- представлен листинг программы.
Данная программа
может применяться в различных
учебных организациях для проверки
знаний по различным темам (в зависимости
от того, какие вопросы будут
ПРИЛОЖЕНИЯ
Полный
листинг программы
PROGRAM TEST;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
DM in 'DM.pas' {DataModule2: TDataModule},
testirovanie in 'testirovanie.pas' {testi},
Unit2 in 'Unit2.pas' {Edittest},
Unit3 in 'Unit3.pas' {about},
Unit4 in 'Unit4.pas' {Passdi};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(
Application.CreateForm(Ttesti, testi);
Application.CreateForm(
Application.CreateForm(Tabout, about);
Application.CreateForm(
Application.Run;
end.
UNIT UNIT1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses DM, DB, testirovanie, Unit4, Unit3;
{$R *.dfm}
procedure
TForm1.RadioButton1Click(
begin
testi.Show;
testi.Button2Click(Sender);
Form1.Visible:=false;
end;
procedure
TForm1.RadioButton2Click(
begin
Passdi.Show;
Form1.Visible:=false;
end;
procedure
TForm1.RadioButton3Click(
begin
about.Show;
end;
end.
UNIT UNIT2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, Buttons;
type
TEdittest = class(TForm)