Разработка программы оценки знания студента

Общие понятия о компьютерном тестовом контроле знаний. Анализ методических основ создания компьютерных тестов. Характеристика языка программирования Delphi. Описание этапов разработки программы и ее тестирования. Описание пользовательского интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 03.03.2016
Размер файла 145,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

Кабардино-Балкарский государственный университет

им. Х.М. Бербекова

Курсовой проект

по дисциплине «Имитационное моделирование»

на тему:

«Разработка программы оценки знания студента»

Выполнила:

студентка 4 курса ПИ

Тхазеплова Л.Ф.

Руководитель:

Шогенова З.А.

Нальчик 2015 год

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

Кабардино-Балкарский государственный университет

им. Х.М. Бербекова

Кафедра ВВиПММ

Утверждаю»

Зав. кафедрой д.ф-м.н.,

профессор

___________Лобанов А.И.

«___»____________2015 г.

Задание

на выполнение курсового проекта

по учебной дисциплине «Имитационное моделирование»

на тему: «Разработка программы оценки знания студента»

1. Цель курсового проекта: закрепить навыки проектирования структурно-модульного программирования.

2. Назначение и область применение проекта: на основе, полученных различных источников данных, разработать компьютерный тестовый контроль знаний студентов.

3. Вопросы, подлежащие разработке и исследованию

· Создание обучающих и контролирующих средств

· Изучение модулей

4. Структура курсового проекта:

· Титульный лист

· Содержание

· Введение

· Разделы проекта

· Заключение

· Список использованной литературы

5. Сроки выполнения курсового проекта:

с_________ 2015 по __________

Руководитель курсового проекта Исполнитель:

ассистент кафедры ВВиПММ студентка 4 курса «ПИ»

____________Шогенова З.А. ___________Тхазеплова Л.Ф.

«___»_______________2015 г. «___»________________2015 г

Содержание

Введение

Глава 1. Компьютерный тестовый контроль знаний студентов

1.1 Общие понятия о компьютерном тестовом контроле знаний

1.2 Методические основы создания компьютерных тестов

Глава 2. Постановка задачи

2.1 Сущность задачи

Глава 3. Этапы разработки программы

3.1 Язык программирования Delphi

3.2 Пользовательский интерфейс

Заключение

Литература

Листинг программы

Введение

Идея обучения с помощью компьютера появилась давно. Первые попытки относятся к концу 50-х годов. В то время уже имелась возможность "общения" человека с компьютером посредством используемого в качестве устройства ввода/вывода телеграфного аппарата-телетайпа. Надлежащим образом запрограммированный компьютер заносит в свою память набираемый человеком на клавиатуре телетайпа текст запроса, а по окончании ввода этого текста производит некоторый анализ его и печатает на телетайпе заранее заготовленный, или конструируемый из подходящих элементов текст ответа. Или проще - компьютер выдает на телетайп текст вопроса или условия задачи и ждет ввода с клавиатуры ответа, который затем сверяется с имеющимся эталоном, чтобы выдать оценку: верно/неверно. С тех пор во всем мире ведутся непрерывные научные поиски решения проблемы эффективного и дешевого способа обучения с помощью компьютера.

Сегодня престиж и рейтинг учебного заведения определяются не только общим уровнем преподавания, наличием в штате сотрудников ученых с мировым именем и материально-технической базой, но и эффективностью и качеством системы контроля знаний учащихся. Несомненно, что его наиболее оперативной, современной и объективной формой является тестовый контроль в компьютерном варианте.

Особую актуальность для преподавателей школ и вузов приобретают программы для создания компьютерных тестов - тестовые оболочки. Подобных программных средств существует множество и программисты-разработчики готовы строить новые варианты так называемых авторских систем. Однако широкое распространение этих программных средств сдерживается отсутствием простых и нетрудоёмких методик составления тестовых заданий, с помощью которых можно "начинять" оболочки.

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

Создание обучающих и контролирующих средств - сложная и трудоемкая работа, требующая совместных усилий опытных преподавателей-лекторов, разработчиков программных средств, программистов и др. Широкомасштабному ведению такой работы в вузах препятствует отсутствие финансовых ресурсов для ее стимулирования. В результате она проводится бессистемно.

Цель работы - на основе, полученных различных источников данных, разработать компьютерный тестовый контроль знаний студентов.

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

Глава 1. Компьютерный тестовый контроль знаний студентов

1.1 Общие понятия о компьютерном тестовом контроле знаний

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

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

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

Компьютерное тестирование имеет ряд преимуществ:

- быстрое получение результатов испытания и освобождение преподавателя от трудоемкой работы по обработке результатов тестирования;

- объективность в оценке;

- конфиденциальность при анонимном тестировании;

- тестирование на компьютере более интересно по сравнению с традиционными формами опроса, что создает положительную мотивацию у студентов.

1.2 Методические основы создания компьютерных тестов

Составление компьютерных тестов является довольно сложным делом. Очень важно научиться отличать профессионально сделанный добротный тест от популярно-развлекательного журнального опросника. Настоящий, действенный, валидный и эффективно работающий тест - это завершенный продукт, обладающий определенными свойствами и характеристиками и отвечающий современным методическим требованиям. Тест обладает составом, целостностью и структурой. Он состоит из заданий, правил их применения, оценок за выполнение каждого задания и рекомендаций по интерпретации тестовых результатов. Целостность теста проявляется во взаимосвязи заданий, включенных в тест. Ни одно из заданий не может быть изъято из теста без ущерба для него. Структура же его проявляется в способе связи заданий между собой.

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

Тесты бывают двух видов:

- традиционные;

- нетрадиционные.

Традиционные тесты представлены в виде системы заданий возрастающей трудности, имеющие специфическую форму, позволяющие качественно и эффективно измерить уровень и оценить структуру подготовленности студентов.

При этом в зависимости от того, по скольким учебным дисциплинам включены в тест задания, традиционные тесты разделяют на гомогенные (проверяющие знания по одному предмету) и гетерогенные (по нескольким предметам).

Нетрадиционные тесты представлены интегративными, адаптивными и критериально-оценочными тестами.

Критериальные - нацелены на общую итоговую диагностику подготовленности выпускника учебного заведения. В одном тесте предъявляются знания из двух и более учебных дисциплин. Проведение подобного тестирования проводится, как правило, при интегративном обучении.

Адаптивные тесты позволяют регулировать трудность предъявляемых заданий в зависимости от ответов тестируемого. При успешном ответе компьютер выдает следующее задание, более трудное по сравнению с предыдущим, а в случае неудачи - более легкое.

Критериально-оценочные тесты предназначены для того, чтобы узнать, какие элементы содержания учебной дисциплины усвоены, а какие - нет. При этом они определяются из так называемой генеральной совокупности заданий, охватывающей всю дисциплину в целом.

Существуют три основные формы тестовых заданий:

1. Задания с выбором одного или нескольких правильных ответов. Среди этих заданий выделяются такие разновидности, как:

1.1. Выбор одного правильного ответа по принципу: один - правильный, все остальные (один, два, три и т.д.) - неправильные.

1.2. Выбор нескольких правильных ответов.

1.3. Выбор одного, наиболее правильного ответа.

2. Задания открытой формы.

Задания сформулированы так, что готового ответа нет; нужно сформулировать и вписать ответ самому, в отведенном для этого месте.

3. Задания на установление соответствия, где элементам одного множества требуется поставить в соответствие элементы другого множества.

4. Задания на установление правильной последовательности (вычислений, действий, шагов, операций, терминов в определениях).

Для компьютерного контроля знаний, осуществляемого в виде тестов, больше всего подходят задания с выбором одного правильного ответа. Среди этих тестов наиболее распространенными в настоящее время являются тесты с возможностью выбора правильного ответа из:

- двух предложенных вариантов ответа;

- трех предложенных вариантов.

Выбор формы зависит от:

- цели тестирования;

- содержания теста;

- технических возможностей;

- уровня подготовленности преподавателя в области теории и методики тестового контроля знаний.

Каждая из форм позволяет проверить специфические виды знаний. Проверять с помощью тестов имеет смысл актуальные знания, которые студенты должны уметь применять на практике. Проверяются знания, находящиеся в оперативной памяти, то есть, не требующие обращения к справочникам, словарям, картам, таблицам и т.п.

При разработке компьютерного теста очень важно продумать уровень его трудности в целом и отдельных тестовых заданий. Традиционно вопросы располагаются в порядке возрастающей трудности. Больше всего в процентном отношении составляется вопросов средней трудности. При подборе заданий необходимо ориентироваться на общий уровень подготовленности тестирующихся. Так, например, при прохождении тестирования слабой по подготовленности группы студентов, трудные задания теста "не работают", так как ни один учащийся не может на них ответить. У сильной группы студентов не будут "работать" слабые задания и т.п.

Самым лучшим можно считать тест, в котором заложено широкое содержание, и оно охватывает более глубокие уровни знаний. Разработчики тестов должны придерживаться следующих принципов:

Тест должен соответствовать целям тестирования;

Нужно определить значимость проверяемых знаний в общей системе проверяемых знаний;

Должна быть обеспечена взаимосвязь содержания и формы теста;

Тестовые задания должны быть правильными с точки зрения содержания;

Должна соблюдаться репрезентативность содержания учебной дисциплины в содержании теста;

Тест должен соответствовать уровню современного состояния науки;

Содержание теста должно быть комплексным и сбалансированным;

Содержание теста должно быть системным, но, вместе с тем, вариативным.

В начале любого теста дается краткая инструкция по выполнению задания, например: "Выберите правильный ответ…", "Выберите наиболее правильный ответ…", "Впечатайте в свободном поле ответ…" и т.п. Если задания представлены в одной форме, инструкция пишется один раз для всего теста. Если же тест включает различные задания, то перед каждым новым заданием пишется новая инструкция. Текст задания, как правило, пишется прописными буквами или жирным шрифтом для того, чтобы зрительно сразу же отделить само задание от вариантов ответа.

Очень удобно при создании тестов подбирать так называемые "фасетные" задания, то есть, задания, имеющие варианты.

Например:

· МЕДЬ

· ТИТАН

· ЦИРКОНИЙ … К ГРУППЕ ТЯЖЕЛЫХ МЕТАЛЛОВ

1) относится;

2) не относится .

С помощью этих заданий, при прохождении компьютерного теста, студенты получают вопросы в случайном порядке, что практически исключает их повторение и возможность списывания.

Для отвлечения внимания студентов используются ответы-дистракторы (от англ. to distract - отвлекать), например:

АБСОЛЮТНУЮ ВЛАЖНОСТЬ ОПРЕДЕЛЯЮТ

1) гигрометром;

2) психрометром.

Верный ответ - психрометр, в то время как внимание отвечающих привлекает первое слово из-за его корня "гигро-" в переводе означающего "вода, влага". Слово "гигрометр" - в данном случае является дистрактором.

Подбор дистракторов влияет на качество теста. Самым лучшим можно считать тест, в котором все ответы - верные и неверные (дистракторы) выбираются студентами с примерно равной частотой.

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

Одно из важных требований при тестировании - наличие заранее разработанных правил выставления баллов. В общем случае применения тестов за правильный ответ в каждом задании дается один балл, за неправильный - ноль. Сумм всех баллов, полученных студентом, дает число правильных ответов. Это число ассоциируется с уровнем его знаний и с понятием "тестовый балл испытуемого". Но существуют и другие, более сложные схемы оценивания, например, рейтинговые.

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

· формализация экспертной целевой модели знаний;

· нисходящее (или снизу - вверх) проектирование тестового пространства;

· формирование и наполнение тестовых заданий;

· формирование полного компьютерного теста;

· тестовый эксперимент;

· выбор эффективного теста;

· анализ, корректировка и доводка теста до вида эксплуатации.

Глава 2. Постановка задачи

2.1 Сущность задачи

Одним из важнейших структурных подразделений колледжа является вычислительный центр. Именно там проходят занятия учеников с использованием современных педагогических технологий, которые базируются на использовании ПК и программных средств.

Одним из этапов урока является проверка знаний и умений учащихся.

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

Тестирование можно проводить в виде опросных листов, что требует большой подготовки со стороны преподавателя. Наиболее трудоемким моментом является обработка результатов тестирования.

Актуальность поставленной задачи обусловлена облегчением труда преподавателя связанного с проведением тестирования и обработкой результатов данного тестирования.

Проведя исследование рынка программных продуктов по проведению сетевого тестирования, были выявлены ряд недостатков, в число которых входят:

- высокая стоимость отдельных программных продуктов

- невозможность работы с математическими формулами

- сложный для понимания пользовательский интерфейс

- большая загрузка ЛВС в момент проведения тестирования

Все вышеперечисленные недостатки послужили поводом для разработки собственного программного продукта.

Назначение программы - проведение централизованных итоговых занятий по разным дисциплинам в виде интерактивного тестирования.

Основными задачами дипломного проекта являются:

- разработка клиентской части системы тестирования

- разработка серверной части системы тестирования

- разработка системы отчетности по результатам тестирования

Функционирование автоматизированной системы тестирования, далее АСТ, начинается с создания для каждой дисциплины отдельной базы данных, содержащей вопросы теста, далее формируется «Тест пакет», содержащий всю информацию необходимую для осуществления тестирования с удаленной станции. В процессе тестирования появление вопросов происходит в случайном порядке. Возможности разработанного сетевого протокола позволяют вести двустороннее общение между преподавателем и студентом. Также программа позволяет осуществлять контроль, за ходом тестирования. Так в любой момент после начала тестирования преподаватель может посмотреть результаты тестирования каждого ученика (количество вопросов, на сколько из них были даны правильные ответы и сколько допущено ошибок), приостановить или прекратить тестирование, а также исключить отдельного ученика из процесса тестирования отключив его от сервера.

Выходной информацией АСТ является отчет успеваемости.

Периодичность применения автоматизированной системы зависит от плана преподавателя по проведению тестирования.

Для комфортной работы с программой необходим компьютер ниже перечисленной конфигурации:

сетевая плата от 10 Мб/с и выше;

процессор тактовой частотой не ниже 300 Мгц;

оперативная память не менее 64 Мб;

объем жесткого диска не менее 1 Гб;

монитор 15 дюймов;

разрешение монитора 1024x768 при 16 битной цветовой палитре.

Глава 3. Этапы разработки программы

Определение требований к программе - один из важнейших этапов. На этом этапе подробно описывается исходная информация, и формулируются требования к результату. Кроме того, описывается поведение программы в особых случаях.

При разработке программы, предназначенной для работы в Windows, требования к ней могут включать пункты о желаемом виде диалоговых окон программы.

На этапе разработки алгоритма необходимо определить последовательность действий, которые надо выполнить для достижения поставленной цели, получения результата. Если задача может быть решена различными способами, и, следовательно, возможны различные варианты алгоритма решения, то, программист, используя некоторый критерий, выбирает наиболее подходящее решение. Затем составляется подробное составление алгоритма.

При программировании в Delphi основная работа программиста заключается в разработке подпрограмм. Задачу организации взаимодействия разработанных подпрограмм берет на себя Delphi. Также Delphi удобна для создания программ с визуальными компонентами, которые уже созданы в ней и имеют стандартный набор команд.Поставленная задача заключалась в следующем. Необходимо было создать программу для проведения текстовых проверок знаний в форме тестирования.

3.1 Язык программирования Delphi

Среда разработки Delphi ориентирована, прежде всего, на создание программ для семейства операционных систем Windows. При этом большое внимание уделяется возможности визуальной разработки приложений с помощью большого набора готовых компонентов, а в стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов, позволяющих избежать ручного кодирования. Эти компоненты охватывают практически все аспекты применения современных информационных технологий.

В процессе построения приложения необходимо выбирать из палитры компоненты, на основе которых будет строиться проект. Еще до компиляции видно результаты своей работы. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции получаем код, который исполняется в 10 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений, поддерживающей разработку пользовательского интерфейса.

3.2 Пользовательский интерфейс

При запуске теста, показывается название программы и кнопка “Начать тест”. компьютерный тест пользовательский интерфейс

После нажатия этой кнопки начинается сам тест, при этом откроется новое окно, а старое закроется.

При нажатии кнопки “Начать тест” на форме отобразится вопрос и четыре варианта ответа, выбор варианта ответа производится кликом мыши. Продолжение тестирования производится кнопкой “Ответить >>>” при этом на форме будут отображаться новые вопросы и четыре варианта ответа.

По окончании теста, программа подсчитает количество правильных ответов и выставит на их основе оценку тестируемого.

Описание исходных текстов программы

unit Unit2; // модуль главной формы

В этом модуле содержится несколько основных функций необходимых для работы программы.

Переменные.

var

Form2: TForm2;

Ini: TIniFile;

QuestNum: Integer;

QuestCount: Integer;

Scores: Integer;

Wrong: Integer;

ProgPath : string;

Count : integer;

Создание простейшей кнопки:

Простейшей и, пожалуй, наиболее часто используемой кнопкой является кнопка Button расположенная на странице библиотеки Standard.

Основное с точки зрения внешнего вида свойство кнопки -- Caption (надпись). В надписях кнопок можно предусматривать использование клавиш ускоренного доступа, выделяя для этого один из символов надписи. Перед символом, который должен соответствовать клавише ускоренного доступа, ставится символ амперсанта «&». Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

Основное событие любой кнопки -- OnClick, возникающее при щелчке на ней. Именно в обработчике этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке. Помимо этого есть еще ряд событий, связанных с различными манипуляциями клавишами и кнопками мыши.

Свойство Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок «Отменить» в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc. Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

Из методов, присущих кнопкам, имеет смысл отметить один -- Click. Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick. Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке. Пусть, например, вы хотите, чтобы при нажатии пользователем клавиши с символом «С» или «с» в любой момент работы с приложением выполнялись операции, предусмотренные в обработчике события OnClick кнопки Button1. Поскольку неизвестно, какой компонент будет находиться в фокусе в момент этого события, надо перехватить его на уровне формы. Такой перехват осуществляется, если установить свойство формы KeyPreview в true. Тогда в обработчике события формы OnKeyPress можно написать оператор

if (key='C' or key='c') then Button1.Click;

Если пользователь ввел символ «С» или «с», то в результате будет выполнен обработчик щелчка кнопки Button1.

Опции окна редактирования

В компоненте Edit вводимый и выводимый текст содержится в свойстве Text. Это свойство можно устанавливать в процессе проектирования или задавать программно. Выравнивание текста, как это имело место в метках и панелях, невозможно. Перенос строк тоже невозможен. Текст, не помещающийся по длине в окно, просто сдвигается, и пользователь может перемещаться по нему с помощью курсора. Свойство AutoSize в окнах редактирования имеет смысл, отличный от смысла аналогичного свойства меток: автоматически подстраивается под размер текста только высота, но не ширина окна.

Окна редактирования снабжены многими функциями, свойственными большинству редакторов. Например, в них предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C -- копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X -- вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V -- вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z -- отмена последней команды редактирования.

Edit можно использовать и просто как компоненты отображения текста. Для этого надо установить в true его свойство ReadOnly и целесообразно установить AutoSelect в false. В этом случае пользователь не сможет изменять отображаемый текст, и окно редактирования становится подобным меткам. При использовании окон редактирования для вывода, ввода и редактирования чисел необходимо использовать функции взаимного преобразования строк и чисел. Для вывода это описанные при рассмотрении меток функции FloatToStr и IntToStr. При вводе это функции StrToFloat -- преобразование строки в значение с плавающей запятой, и StrToInt -- преобразование строки в целое значение. Если вводимый текст не соответствует числу (например, содержит недопустимые символы), то функции преобразования генерируют исключение EConvertError.

Этот код обеспечивает сообщение пользователю об ошибке ввода и предотвращает ошибочные вычисления. Впрочем, это не лучший вариант предотвратить ошибочный ввод, поскольку пользователь узнает о своей ошибке только после того, как программа пытается использовать введенные данные. Лучше, если пользователь просто не сможет ввести неправильные символы. Например, если вы хотите, чтобы пользователь мог вводить в окно редактирования Edit только цифры и символ точки, вы можете в обработчик события OnKeyPress этого компонента вставить оператор:

if not (Key in ['0'..'9', ',']) then Key := #0;

Этот оператор подменит все символы, кроме цифр и запятой, нулевым символом, который не занесется в текст окна Edit.

Функции

1) функция, ss2nn которая переводит секунды в минуты + секунды в строковом формате (необходимо для подсчета времени прошедшего с начала тестирования):

function TForm2.ss2nn(Seconds: Integer): String;

var

nMin, nSec: Integer;

begin

{Проверяем, меньше чем 1/Min}

if Seconds < 60 then Result := '0 минут ' + IntToStr(Seconds) + ' секунд'

else begin

{Определяем минуты}

nMin := Seconds div 60;

{Определяем секунды}

nSec := Seconds - (nMin * 60);

{Возвращаем результат}

Result := IntToStr(nMin) + ' минут ' + IntToStr(nSec) + ' секунд';

end;

end;

Функции надо передать количество секунд и в результате мы получим значение типа string. Например, если мы передадим функции число 70, то получим в результате 1 минут 10 секунд.

2) процедура ShowQuestion - функция, которая загружает текст вопроса и варианты ответов, а так же показывает текст вопроса и варианты ответов на текстовых метках.

procedure TForm2.ShowQuestion;

var

Count, i: Integer;

begin

if (QuestNum > QuestCount) and (QuestNum > 0) then

begin

{ Если номер текущего вопроса больше чем должно быть показано и кол-во вопросов >0 то выполняем следующее....}

Form3 := TForm3.Create(self);//создаем форму с результатами тестирования

res := (Scores * 100) div QuestCount;// узнаем кол-во правильных ответов

Form3.Gauge1.Progress := res; // выводим правильные ответы на графике в %

Form3.Gauge2.Progress := 100-res; //выводим кол-во неправильных ответов

//сколько всего вопросов....

Form3.Label5.Caption := 'Вопросов в тесте: '+IntToStr(QuestCount);

//пишем на label кол-во правильных ответов

Form3.Label3.Caption := IntToStr(Scores);

//тоже самое, только неправильные

Form3.Label4.Caption := IntToStr(Wrong);

Timer1.Enabled:=False; //выключаем таймер времени

Form3.TimeLabel.Caption:=TimeLabel.Caption; //выводим время на label времени

Form3.ShowModal;// наконец показываем форму с результатами

Form2.close; //закрываем форму с вопросами end;

Если данное условие не выполняется, то…

Рассмотрим это фрагмент функции более подробно. Для загрузки вопросов я использовал класс TIniFile - этот класс используется для работы с ini-файлами. Список вопросов и ответов хранится в специально сформированном файле Test.ini, откуда программа их загружает. Вот вырезка из файла Test.ini:

Ниже приведена процедура загрузки вопроса и вариантов ответов:

//загружаем текст вопроса

Label1.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст вопроса', 'Вопрос отсутствует');

//загружаем варианты ответов

RadioButton1.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 1', 'ERROR');

RadioButton2.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 2', 'ERROR');

RadioButton3.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 3', 'ERROR');

RadioButton4.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 4', 'ERROR');

{Процедура загрузки завершена}

end;

В данной функции метод ReadString класса TIniFile собственно и производит загрузку начальных значений меток (label) с вопросом и вариантами ответов.

Процедуры

1) Процедура - обработчик события нажатия на кнопку «Начать тест»(Button1):

procedure TForm2.Button1Click(Sender: TObject);

begin

Count:=0;

Timer1.Enabled:=True;

Label10.Visible:=True;

TimeLabel.Visible:=True;

BitBtn1.Visible := true;

Panel3.Visible := true;

Button1.Visible := false;

Label9.Visible:=True;

BitBtn1.OnClick(self);

end;

Во время выполнения этой процедуры происходит показ всех нужных для правильной работы программы компонентов, запуск таймера, а также скрытие самой кнопки «Начать тест».

2) процедура - обработчик события нажатия на кнопку «Ответить»(Button):

procedure TForm2.BitBtn1Click(Sender: TObject);

var

Answer, CA: Integer;

begin

Answer := Ini.ReadInteger('Вопрос №' + inttostr(QuestNum), 'Правильный вариант', -1);

if Answer < 0 then Exception.Create('В файле с вопросами не написан правильный вариант');

ca := 0;

if RadioButton1.Checked then

Ca := 1;

if RadioButton2.Checked then

Ca := 2;

if RadioButton3.Checked then

Ca := 3;

if RadioButton4.Checked then

Ca := 4;

if Ca = Answer then

inc(Scores)

else

inc(Wrong);

inc(QuestNum);

Label6.Caption := 'Номер вопроса: ' + IntToStr(QuestNum);

Label8.Caption := 'Правильных ответов: ' + IntToStr(Scores);

Label7.Caption := 'Неправильных ответов: ' + IntToStr(Wrong);

ShowQuestion;

end;

Читаем Правильный ответ из рабочего ini файла программы:

Answer := Ini.ReadInteger('Вопрос №' + inttostr(QuestNum), 'Правильный вариант', -1);

Собственно определяем правильный ответ или нет

if Ca = Answer then

inc(Scores)

else

inc(Wrong);

Оператор Inc увеличивает значение указанной переменной на 1. Если да то +1 к правильным если нет, то +1 к неправильным.

Процедура работы таймера времени

procedure TForm2.Timer1Timer(Sender: TObject);

begin

Count:=Count+1;

TimeLabel.Caption:=ss2nn(Count);

end;

Начальное значение переменной Count - 0, с каждой секундой значение переменной увеличивается на 1, затем функцией ss2nn значение переводится в секунды + минуты (если нужно) и результат выводится на TimeLabel. На рисунке 2 приведена иллюстрация, демонстрирующая работу программы.

Рисунок 1 - Внешний вид программы

Форма с результатами тестирования (Form3/Unit3)

После того как программа закончила тестирование, она подсчитывает результаты, создает и показывает форму с результатами тестирования

Рисунок 2 - Вид формы для результатов тестирования в дизайнере форм Delphi

Кнопка “Ok” на Form3 закрывает программу.

Процедуры.

Процедура - обработчик создания формы с результатами тестирования описана в предыдущем модуле (Unit2). Рассмотрим работу таймера, который собственно выставляет оценку.

procedure TForm3.Timer1Timer(Sender: TObject);

begin

if (Gauge1.Progress < 40) then label7.Caption:='2';

if (Gauge1.Progress >= 40 )and (Gauge1.Progress <60) then label7.Caption:='3';

if (Gauge1.Progress >=60) and (Gauge1.Progress <=90)

then label7.Caption:='4'; if Gauge1.Progress >90 then label7.Caption:='5'; end;

В настоящее время в нашу жизнь широко внедряются информационные технологии. На сегодняшний день, наверное, не осталось такой области, где бы они ни применялись. Данная программа может применяться для оценки уровня знаний по русскому языку в школах, ВУЗах, техникумах или для оценки собственных познаний в культуре правописания. Её пользовательский интерфейс делает её простой, понятной и доступной.

Заключение

В процессе выполнения курсового проекта мы ознакомились с методом составления тестов и программ для компьютерного тестового контроля знаний студентов. Была разработана программа на языке Borland Delphi 7.0 Enterprise.

С момента своего появления Borland Delphi 7.0 Enterprise получил широкое распространение и завоевал признание многих тысяч профессиональных программистов. Как и любой язык программирования, Borland Delphi 7.0 Enterprise поддерживает различные типы данных, с помощью которых программисту предоставляется возможность оперирования с некоторым ограниченным набором простейших математических объектов. В процессе работы были изучены аналогичные программы имеющие различные структуры и свойства. Простота составления программы подтверждается уровнем подготовленности, программа составлялась не высококвалифицированными программистами. Простота смены вопросов тестирования под силу даже учащимся школ. Кроме всего эта программа позволяет компетентно оценивать знания студентов.

Литература

1. Архангельский А.Я. Delphi 7 Справочное пособие. - М., Бином-Пресс. -2004. -1024 с.

2. Архангельский А.Я. Программирование в Delphi 7 + дискета, Бином, 2005

3. Бондаренко Е.А. Технические средства обучения в современной школе, Юверс, 2004

4. Вигерс Карл. Разработка требований к программному обеспечению. /Пер, с англ. - М.: Издательско-торговый дом «Русская Редакция», 2004. - 576 с.

5. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. - СПб.: Питер, 2001. - 384 с.: ил.

6. Глушаков С.В., Клевцов А.Л., Программирование в среде Delphi 7.0, Фолио 2003

7. Дьяконов В.П. Новые информационные технологии, Солон-Пресс, 2005

8. Земсков А.И., Шрайберг Я.Л. Электронные библиотеки, Либерея, 2003

9. Клименко Р.Н. Оптимизация и автоматизация работы на ПК на 100% (+CD), Питер Пресс, 2007

10. Колин К.К. Фундаментальные основы информатики: социальная информатика / Учебное пособие для вузов. - М.: Академический проект, 200 -350 с.

Листинг программы

program Project1;

uses

Forms,

Unit2 in 'Unit2.pas' {Form2},

Unit3 in 'Unit3.pas' {Form3};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

unit Unit2; // модуль главной формы

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Buttons, IniFiles, XPMan;

type

TForm2 = class(TForm)

Panel1: TPanel;

Label1: TLabel;

BitBtn1: TBitBtn;

Panel2: TPanel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Button1: TButton;

Panel3: TPanel;

Label2: TLabel;

RadioButton1: TRadioButton;

Label3: TLabel;

RadioButton2: TRadioButton;

Label4: TLabel;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

Label11: TLabel;

Timer1: TTimer;

Label10: TLabel;

TimeLabel: TLabel;

XPManifest1: TXPManifest;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

{Обьявляем необходимые переменные}

QuestNum: Integer;

QuestCount: Integer;

Scores: Integer;

Wrong: Integer;

ProgPath : string;

public

res : Integer;

{Функция для перевода секунд в минуты + секунды}

function ss2nn(Seconds: Integer): String;

procedure ShowQuestion; {!!!Главная процедура для загрузки и показа

вопросов и ответов}

end;

var

Form2: TForm2;

Ini: TIniFile;

Count : integer;

implementation

uses Unit3;

{$R *.dfm}

{ TForm2 }

function TForm2.ss2nn(Seconds: Integer): String;

var

nMin, nSec: Integer;

begin

{Проверяем, меньше чем 1/Min}

if Seconds < 60 then Result := '0 минут ' + IntToStr(Seconds) + ' секунд'

else begin

{Определяем минуты}

nMin := Seconds div 60;

{Определяем секунды}

nSec := Seconds - (nMin * 60);

{Возвращаем результат}

Result := IntToStr(nMin) + ' минут ' + IntToStr(nSec) + ' секунд';

end;

end;

procedure TForm2.ShowQuestion;

var

Count, i: Integer;

begin

if (QuestNum > QuestCount) and (QuestNum > 0) then

begin

{если кол-во вопросов больше чем уже показанных и кол-во вопросов

>0 то выполняем следушее....}

Form3 := TForm3.Create(self);//создаем форму с результатами тестирования

res := (Scores * 100) div QuestCount;// узнаем кол-во правильных ответов

Form3.Gauge1.Progress := res; // выводим правильные ответы на графике в %

Form3.Gauge2.Progress := 100-res; //выводим кол-во неправильных ответов

//сколько всего вопросов....

Form3.Label5.Caption := 'Вопросов в тесте: '+IntToStr(QuestCount);

//пишем на label кол-во правильных ответов

Form3.Label3.Caption := IntToStr(Scores);

//тоже самое, только неправильные

Form3.Label4.Caption := IntToStr(Wrong);

Timer1.Enabled:=False; //выключаем таймер времени

Form3.TimeLabel.Caption:=TimeLabel.Caption; //выводим время на label времени

Form3.ShowModal;// наконец показываем форму с результатами

Form2.close; //закрываем форму с вопросами

end;

//загружаем текст вопроса

Label1.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст вопроса', 'Вопрос отсутствует');

//загружаем варианты ответов

RadioButton1.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 1', 'ERROR');

RadioButton2.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 2', 'ERROR');

RadioButton3.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 3', 'ERROR');

RadioButton4.Caption := Ini.ReadString('Вопрос №' + inttostr(QuestNum), 'Текст кнопки 4', 'ERROR');

{Процедура загрузки завершена}

end;

{Процедура созлания формы с вопросами}

procedure TForm2.FormCreate(Sender: TObject);

begin

{Получаем путь папки где находится наша прога}

ProgPath := ExtractFileDir(Application.ExeName) + '\';

Ini := TIniFile.Create(ProgPath + 'Test.ini');

Label1.Caption := Ini.ReadString('Тест', 'Название теста', 'Тест без названия');

QuestNum := 0;

Scores := 0;

wrong := -1;

QuestCount := Ini.ReadInteger('Тест', 'Количество Вопросов ', -2);

Label5.Caption := 'Всего вопросов в тесте: ' + IntToStr(QuestCount);

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

var

Answer, CA: Integer;

begin

Answer := Ini.ReadInteger('Вопрос №' + inttostr(QuestNum), 'Правильный вариант', -1);

if Answer < 0 then Exception.Create('В файле с вопросами не написан правильный вариант');

ca := 0;

if RadioButton1.Checked then

Ca := 1;

if RadioButton2.Checked then

Ca := 2;

if RadioButton3.Checked then

Ca := 3;

if RadioButton4.Checked then

Ca := 4;

if Ca = Answer then

inc(Scores)

else

inc(Wrong);

inc(QuestNum);

Label6.Caption := 'Номер вопроса: ' + IntToStr(QuestNum);

Label8.Caption := 'Правильных ответов: ' + IntToStr(Scores);

Label7.Caption := 'Неправильных ответов: ' + IntToStr(Wrong);

ShowQuestion;

RadioButton1.Checked:=False;

RadioButton2.Checked:=False;

RadioButton3.Checked:=False;

RadioButton4.Checked:=False;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Count:=0;

Timer1.Enabled:=True;

Label10.Visible:=True;

TimeLabel.Visible:=True;

BitBtn1.Visible := true;

Panel3.Visible := true;

Button1.Visible := false;

Label9.Visible:=True;

BitBtn1.OnClick(self);

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

// Ini.Free;

end;

procedure TForm2.Timer1Timer(Sender: TObject);

begin

Count:=Count+1;

TimeLabel.Caption:=ss2nn(Count);

end;

end.

Модуль формы с результатами тестирования

unit Unit3;

...

Подобные документы

  • Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.

    отчет по практике [700,5 K], добавлен 24.11.2014

  • Проектирование программы в среде Delphi для тестирования знаний студентов по программированию, с выводом оценки по окончанию тестирования. Разработка экранных форм и алгоритма программы. Описание программных модулей. Алгоритм процедуры BitBtn1Click.

    курсовая работа [365,0 K], добавлен 18.05.2013

  • Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.

    курсовая работа [506,5 K], добавлен 21.02.2011

  • Описание разработки программного продукта с использованием объектно-ориентированного языка программирования Delphi. Принципы рейтинговой оценки знаний Костанайского социально–технического университета. Описание внешнего вида программы, обработка событий.

    дипломная работа [2,4 M], добавлен 03.07.2015

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

  • Рассмотрение теории и технологии работы со средой программирования Delphi. Описание Описание интерфейса программы, структуры данных, генерации точек. Разработка задания по выявлению всех квадратов, которые могут быть образованы точками на плоскости.

    реферат [21,0 K], добавлен 13.01.2015

  • Разработка программы автоматизации процесса проверки знаний учащихся. Использование языка программирования Borland Delphi 7.0, его свойства, компоненты для работы со строками. Создание обучающих тестов на знание лексики и грамматики английского языка.

    курсовая работа [521,0 K], добавлен 06.03.2016

  • Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.

    курсовая работа [1,5 M], добавлен 08.02.2011

  • Рассмотрение теоретических и методологических основ создания компьютерных тестов. Описание практической разработки программного обеспечения для контроля знаний студентов. Сравнение экономических и технических параметров аналогичных тестовых программ.

    дипломная работа [1,3 M], добавлен 14.07.2010

  • Особенности создания программы "Файловый менеджер" в среде объектно-ориентированного программирования Delphi. Назначение и основные функции программы, формулировка задачи. Описание программы, использованные компоненты, интерфейс и порядок применения.

    контрольная работа [1,3 M], добавлен 19.06.2012

  • Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.

    курсовая работа [880,1 K], добавлен 21.04.2015

  • Обзор средств программирования. Описание и свойства языка Delphi. Основания для разработки, ее назначение, предъявляемые требования, стадии разработки. Описание схемы основного модуля, процедур, программы. Используемые технические и программные средства.

    курсовая работа [42,8 K], добавлен 25.02.2012

  • Рассмотрение теоретических аспектов создания баз данных с применением системы объектно-ориентированного программирования Delphi. Ознакомление с компонентами доступа. Разработка базы данных "Библиотека". Описание основ интерфейса созданной программы.

    курсовая работа [1004,9 K], добавлен 26.10.2014

  • Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.

    курсовая работа [560,1 K], добавлен 18.07.2012

  • Требования к техническим, программным средствам разработки и функционированию программы. Обоснование выбранного языка программирования. Описание алгоритма решения задачи, тестирование ее основных функций. Понятие дружелюбного пользовательского интерфейса.

    курсовая работа [85,9 K], добавлен 31.10.2014

  • Постановка задачи и математическое описание ее решения. Назначение программного обеспечения. Описание принятых идентификаторов. Выбор языка программирования и написание программы на входном языке. Методика отладки программы и проведение ее тестирования.

    курсовая работа [96,1 K], добавлен 25.06.2013

  • Краткое описание этапов разработки программного продукта. Анализ поставленных задач и определение основных функций программы. Разработка пользовательского интерфейса. Составление программной документации. Техническое задание на разработку проекта.

    дипломная работа [1,5 M], добавлен 06.04.2013

  • Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка программирования. Изучение особенностей создания интерфейса приложения. Основные этапы реализации программы.

    практическая работа [460,6 K], добавлен 22.01.2013

  • Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.

    курсовая работа [147,1 K], добавлен 05.02.2015

  • Delphi - среда быстрой разработки, в которой в качестве языка программирования используется типизированный объектно-ориентированный язык Delphi. Варианты программного пакета. Особенности работы, вид экрана после запуска. Описание структуры программы.

    курсовая работа [1,3 M], добавлен 25.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.