Министерство образования Украины
Харьковский государственный технический университет радиоэлектроники
Кафедра ПО ЭВМ
Курсовой проект по дисциплине:
«Основы программирования и алгоритмические языки»
Тема:
«Разработка программы психотестирования»
Работу выполнила: Ст. гр. ИПД-99-1 Пыхтина Елена | Руководитель: |
Работа защищена с оценкой: | |
Комиссия: Доц. Ерохин А. Л. Доц. Четвериков Г. Г. Проф. Дударь З. В. |
Харьков, 1999 г.
ХГТУРЭ
Кафедра ПО ЭВМ
Задание
на курсовую работу по дисциплине «ОП и АЯ»
ст. гр. ИПД-99-1 Пыхтиной Елены
Тема: «Разработка программы психотестирования»
І. Используя визуальную среду программирования Delphi, разработать программу психотестирования, которая бы посредством нескольких тестов определяла психологический портрет человека
ІІ. Система меню
Дата выдачи задания: Дата защиты:
Студент:
Руководитель:
Данная курсовая работа содержит:
· 38 страниц;
· 1 таблицу;
· 11 иллюстраций;
· в приложении дан исходный код программы.
Ключевые слова:
КУРСОВАЯ РАБОТА, DELPHI, ИНТЕРФЕЙС, МЕНЮ, ОБЪЕКТ,ФАЙЛ, ПСИХОТЕСТ.
Реферат........................................................................................................................ 3
Содержание................................................................................................................. 4
Введение...................................................................................................................... 5
1 Описание программы.............................................................................................. 6
1. 1 Внутренняя структура программы................................................................. 6
1. 1. 1 Хранение информации теста................................................................... 7
1. 1. 2 Хранение информации для возврата результов теста........................... 8
1. 1. 3 Описание работы программы.................................................................. 8
1. 1. 4 Инструкция для пользователя................................................................ 9
1. 3 Создание тестов. Вспомогательные программы......................................... 10
1. 3. 1 Создание теста....................................................................................... 10
1. 3. 2 Создание файла результатов................................................................ 11
2 Система меню........................................................................................................ 13
2. 1 TMainMenu..................................................................................................... 13
2. 1. 1 События................................................................................................. 14
2. 1. 2 Вложенные меню................................................................................... 14
2. 1. 3 Дополнительные возможности............................................................. 15
2. 2 TPopupMenu.................................................................................................. 17
2. 3 Пример программы....................................................................................... 18
Выводы..................................................................................................................... 23
Список литературы.................................................................................................. 24
Приложение А.......................................................................................................... 25
Психология – великая наука. Она позволяет узнать о человеке ВСЕ. Для получения такой информации используются психологические тесты – исследуемому задаются вопросы и предлагаются варианты ответов. Он выбирает тот, который по смыслу ближе всех к его мнению. В конце теста ответы анализируются: каждому варианту присвоено некоторое количество баллов; они подсчитываются и в зависимости от общего счета получается результат.
Такие методы психологических исследований применяются довольно давно. Но в век компьютеров и всеобщего доступа к ним все чаще для тестирования стали применяться ЭВМ. Специализированная программа задает вопросы, принимает ответы, подсчитывает баллы и выдает результат. В Интернете имеются сайты, где все желающие могут узнать степень своей уверенности в себе, агрессивности, организованности и многое другое. Подобные программы существуют и для локальных ПК, не подключенных ни к каким сетям.
В данной курсовой работе представлена система психотестирования SuperPsy, разработанная в системе программирования Borland Delphi. В нее входит три теста, ответив на которые, человек получает обширные сведения о своем характере.
В системе тесты не стационарны – можно создать файлы с другими тестами и пользоваться ними. Для создания файлов тестов имеются две утилитные программы, которые также описаны в работе.
Программа имеет некоторые элементы художественного оформления, что важно, если учесть специальность автора – ИПД.
В данной курсовой работе представлена программа для психотестирования, которая содержит три теста; она создает психологический портрет человека, ответившего на все вопросы тестов.
Кроме программы для тестирования курсовая работа включает в себя две программы для создания файлов тестов (все тесты, а также их результаты, используемые программой психотестирования, содержатся в отдельных файлах, что упрощает усовершенствование системы тестиривания).
Проект Delphi называется SuperPsy. Он содержит три формы и один программный модуль, в котором описаны основные пользовательские типы и переменные, используемые в программе тестирования, а также в программах создания тестов. Все модули программы приведены в табл. 1. 1.
Таблица 1.1 Программные модули Delphi, составляющие программу
Имя модуля | Форма | Функции, которые выполняет |
Mainfrm | FrmMain | Здесь описано окно программы, которое видит пользователь сразу после ее запуска. Размещены процедуры выбора нужного теста. |
Testfrm | FrmTest | Окно тестирования – окно, на котором появляются вопросы и варианты ответов. В этом модуле размещены процедуры загрузки тестов. |
Resfrm | FrmRes | Это окно служит для вывода результата тестирования. Модуль не содержит важных процедур. |
TestTypes | Нет | В этом модуле собраны типы для описания тестов. Он общий для всех трех программ пакета. |
Для хранения информации теста (тексты вопросов, варианты ответов и т. п.) используется пользовательский тип TTest:
TTest=record
text:string[255]; {текст вопроса}
quest:array[1..3] of string[100]; {варианты}
count:array[1..3] of byte; {очки за вариант}
end;
В такой записи хранится один вопрос. Весь тест содержится в массиве записей. При сохранении теста на диске используется типизированный файл этого типа.
Программа создания тестов – TestCreator тоже использует этот тип.
Подобно информации о тестах, информация результатов тоже хранится в записях. Тип называется TResult:
TResult=record
min,max:integer; {кол-во баллов}
text:array[1..1000] of char; {текст результата}
end;
Подобно вопросам, результаты хранятся в массивах; для сохранения на диске используются типизированные файлы.
На форме frmMain размещены кнопки SpeedButton, у которых свойство Flat установлено в «истину». Благодаря этому они прозрачны. Надписи, которые находятся на этих кнопках, на самом деле взяты из графических файлов.
Нажатие на любую кнопку вызывает соответствующий обработчик события, который, в свою очередь, присваивает глобальной переменной testfilename:string, описанной в модуле TestTypes, имя файла теста, а потом запукает процедуру RunTest, показывающую форму frmTest.
Дальше работают процедуры модуля этой формы. Процедура Load, описанная как метод, загружает из файла теста очередной вопрос с вариантами. Обработчик события нажатия кнопки «Далее» проверяет наличие еще вопросов в файле и в случае позитивного ответа вызывает Load, в противном случае – грузит из файла результатов нужную запись в Label1 формы вывода результатов frmRes. После этого прячет окно тестирования и показывает результат.
Устройство программ создания тестов и результатов не нуждается в описании.
Исполняемый файл программы называется SuperPsy.еxe. Запустив его, пользователь увидит окно, приглашающее выбрать нужный тест. Это окно показано на рис. 1. 1
Рисунок 1. 1 – Первое окно программы (форма frmMain)
Здесь, на фоне неба как-бы «висят» названия тестов. При движении курсора мышки по кнопке, она приподнимается над общим фоном, как показано на рис. 1.1 Щелкнув левой кнопкой мыши, тестируемый выбирает интересующий его тест и попадает в окно тестирования, показанное на рис. 1. 2, стр. 10. Чтобы ответить на вопрос, достаточно щелкнуть на правильном с точки зрения пользователя варианте ответа (при этом все варианты тут-же заблокируются и станет доступной кнопка «Далее»). Для перехода к следующему вопросу надо нажать кнопку «Далее».
Рисунок 1. 2 – Окно тестирования
Как уже было сказано выше, в курсовую работу входят также две утилиты – для создания тестов и результатов к ним. Первая называется TestCreator, а вторая – ResCreator, ТС и RC.
Программа ТС имеет единственное (если не считать диалоговых открытия и сохранения файла) окно. Оно представлено на рис. 1. 3, стр. 11.
Рисунок 1. 3 – Окно программы ТС