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

Экзаменатор - это программа для обучения и проведения экзаменов, контрольных и тестовых работ в любых учебных заведениях. Программа имеет возможность заполнения данными по любым изучаемым предметам. В качестве вопроса может использоваться текст и/или графическое изображение (например, если нужно изобразить сложные формулы или схемы). Количество тестов и вопросов в тесте не ограничено.
Программу можно использовать не только в учебных заведениях, но и для проведения квалификационных испытаний внутри фирм и предприятий, и даже в домашних условиях для проверки знаний собственного ребенка! Программа проста в использовании и имеет дружественный интерфейс. Для самых "дотошных" имеется подсистема помощи с самой подробной информацией.
Экзаменатор может использоваться для проведения тестирования в компьютерных классах с использованием локальной сети. При этом преподаватель со своего рабочего места может управлять процессом тестирования и видеть его результаты. В программе ведется база данных учащихся и их результатов, формируются различные отчеты. Экзаменатор состоит из двух частей: программы тестирования и программы преподавателя. Эти программы могут находиться на одном компьютере или на разных компьютерах в локальной сети. Запустить программу преподавателя может только человек, который знает пароль преподавателя.
Программа тестирования выполняет следующие функции:

  • Регистрация учащегося при входе в программу
  • Выбор теста из списка тестов заданного курса, в том числе и случайный. Режим случайного выбора вопросов, например, 10-и вопросов теста из 100 возможных.
  • Отображение результатов уже пройденных данным учащимся тестов
  • Прохождение пользователем теста с записью результатов в общую базу данных
  • Ответ на вопрос может осуществляться путем выбора одного или нескольких правильных ответов или путем ввода ответа с клавиатуры
  • Во время прохождения теста возможен пропуск отдельных вопросов с последующим возвратом к ним
  • Во время тестирования пользователю доступна информация о текущих итогах выполнения теста и прогнозируемой оценке
  • Вычисление оценки и отображение результатов прохождения теста
  • Имеется режим обучения, в котором разрешено проходить тест несколько раз без занесения результата в базу данных
  • В режиме обучения после каждого ответа возможен вывод подробного описания ("Почему")
  • Во время ответа на вопросы возможен запуск дополнительных заданий: файлов Word, Excel, аудио-видео и т.п.
Программа преподавателя имеет следующие функции:
  • Регистрация преподавателя (с обязательным вводом пароля)
  • Редактирование справочников учебных курсов, групп, пользователей, преподавателей, компьютеров
  • Редактирование содержимого тестов, описаний ответов и критериев оценок
  • Вывод результатов прохождения пользователями тестов
  • Управление тестированием и обучением в компьютерных классах с рабочего места преподавателя
  • Печать различных списков и отчетов
  • Экспорт и импорт данных через текстовые файлы и файлы Excel
  • Каждый вопрос может иметь до 8-и ответов, несколько из которых могут быть правильными
  • Возможно автоматическое формирование тестов путем случайного выбора, например, 10-и из 100 возможных вопросов
  • С каждым вопросом может быть связано дополнительное задание (файлы Word, Excel,HTML или любые другие), которое задается во время тестирования или обучения, и подробное объяснение ответа, которое доступно после ответа на вопрос.

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

хорошую работу на сайт">

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

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

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

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

учреждение высшего профессионального образования

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

(ФГБОУ ВПО КубГТУ)

Факультет компьютерных технологий и автоматизированных систем

Кафедра информационных систем и программирования

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

По дисциплине «Программная инженерия»

На тему: Разработка приложения "Экзаменатор"

Выполнил студент группы 11-КБ-ПИ1

Атрошенко Михаил Александрович

Руководитель работы

к.т.н., доцент В.А. Мурлина

Краснодар 2013

Введение

  • 1. Нормативные ссылки
  • 2. Постановка задачи
  • 4. Язык XML
  • 5. Описание программы
  • 6. Руководство пользователя
  • Заключение
  • Приложение

Введение

Приложение «Экзаменатор» позволяет объективно и удобно оценить свой уровень знаний по дисциплине Программная инженерия. В программе используется чтение XML документа. XML -- язык разметки текста, крайне напоминающий HTML. Но его чаще используют как формат хранения данных. Проще говоря -- как базу данных. Он очень удобен, почти во всех библиотеках нашего времени можно найти классы/функции для работы с ним.

Тест состоит из двенадцати вопросов и затрагивает две темы курса: «Настройка элементов управления и создание пользовательского интерфейса» и «Формы Windows и пользовательский интерфейс». Вариант ответа в любом вопросе всегда один и выбирается с помощью элемента управления RadioButton, после выбора варианта зеленым цветом обозначается верный вариант. Внимание, отменить ответ нельзя. Для перехода на следующий вопрос используется соответствующая кнопка. При необходимости можно пропустить вопрос, вызвавший затруднение.

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

1. Нормативные ссылки

экзаменатор алгоритм интерфейс visual

ГОСТ 2.105-95. Общие требования к текстовым документам

ГОСТ Р 50739-95. Государственный стандарт РФ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Общие технические требования.

ГОСТ 7.32-2001. СИБИД. Отчет о НИР. Структура и правила оформления.

ГОСТ 7.1-84 СИБИД. Библиографическое описание документа. Общие требования и правила составления.

ГОСТ 7.80-2000 Библиографическая запись. Заголовок. Общие требования и правила составления.

ГОСТ 19.701-90 (ИСО 5807-85) ЕСПД. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения.

ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания.

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

Разработать и отладить приложение «Экзаменатор» в среде Visual Studio 2010 с использованием языка C#. Выяснить преимущества языка XML и использовать его в курсовом проекте.

3. Описание входных и выходных данных

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

4. Язык XML

XML (Xtensible Markup Language -- расширяемый язык разметки) -- рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.

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

Пролог может включать объявления, инструкции обработки, комментарии.

Пролог следует начинать с объявления XML, хотя в определённой ситуации допускается отсутствие этого объявления.

Корневой элемент может включать (а может не включать) вложенные в него элементы и символьные данные, а также комментарии. Вложенные в корневой элемент элементы, в свою очередь, могут включать вложенные в них элементы, символьные данные и комментарии, и так далее.

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

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

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

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

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

Часть документа, не принадлежащая разметке, составляет символьные данные документа.

Разметка всегда начинается символом < и заканчивается символом >. Наряду с символами < и >, специальную роль для разметки играет также символ &. Употребление разметочных символов в символьных данных затрудняет распознавание конструкций разметки и может создать проблему неоднозначности структуры. В XML эта проблема решается следующим образом: три упомянутые символа не могут присутствовать в символьных данных и в значениях атрибутов в их непосредственном виде, для их представления в этих случаях зарезервированы специальные последовательности символов, начинающиеся с & и заканчивающиеся.

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

5. Описание программы

Отлично!

Хорошо

Удовлетворительно

Плохо

Какой из приведенных ниже фрагментов кода демонстрирует добавление нового экземпляра формы Windows с именем Form1 во время выполнения?

Form1 myForm;

myForm = Form1. CreateForm();

Form1 myForm; myForm.Show();

myForm = Form1; myForm.Show();

Form1 myForm; myForm = new Form1();

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

{

switch (mode)

{

case 0:

qw(test);

cv++;

mode = 1;

break;

case 1:

if (otv == right)

nr++;

if (cv < n)

{

qw(test);

cv++;

}

else

{

for (int j = 0; j < 4; j++)

{

label[j].Visible = false;

}

pictureBox1.Visible = false;

ShowResult();

mode = 2;

}

break;

case 2:

this.Close();

break;

}

}

Обработчик события radioButton1_Click. Обозначает выбор варианта ответа.

{

button1.Enabled = true;

button3.Enabled = false;

}

Отображение результата.

private void ShowResult()

{

int i; // номер уровня

// достижения i-го уровня

for (i = 0; i < k - 1; i++)

{

p = System.Convert.ToInt32(xel.Elements("levels").Elements().ElementAt(i).Attribute("p").Value);

if (nr >

break;

}

// отобразить оценку

label0.Text =

}

{

switch (mode)

{

case 1:

if (cv < 13)

{

qw(test);

cv++;

}

else

{

cv = 0;

}

break;

}

}

}

}

6. Руководство пользователя

Системные требования:

ОС: Windows 7, 8

Среда обработки: Microsoft Visual Studio версии 2008 или новее.

Начало работы с программой «Экономические законы развития информационных технологий в программной инженерии». Запустите Microsoft Visual Studio, откройте проект LINQ_8.

Запустите программу.

На рисунке 1 приведено главное окно приложения

Рисунок 1 Главное окно приложения

Для начала тестирования, нажмите на кнопку «Начать тестирование». Вопросы «перемешиваются», что позволяет использовать программу на соседних компьютерах (см. рисунок 2).

Рисунок 2 Начало тестирования

Для выбора варианта ответа, нажмите на круг рядом с вашим вариантом. Вы узнаете о правильности своего выбора по цвету, в который окрасится ваш вариант. Зеленый - верный, красный- неверный. Так же в зеленый цвет окрасится заведомо правильный вариант (см. рисунок 3).

Рисунок 3 Выбор варианта ответа

В конце теста будет показан ваш результат. А так же статистика, сколько ответов из 12 вы дали верных (см. рисунок 4)

Рисунок 4 Вывод результатов

При нажатии на кнопку «Информация» появится окно, содержащее информацию о программе (см. рисунок 5)

Рисунок 5 Информация

Заключение

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

К плюсам данной программы можно отнести: удобность, точность, функциональность, эргономичность.

Минусами данной программы является малая база вопросов, что исправимо, но энергозатратно.

Список используемых источников

1. Программная инженерия: учебник [Электронный ресурс] ; Региональный финансово-экономический техникум. -- Курск, 2011. -- 649 с

2. Шилдт Г. Полный справочник по C#.: Пер. с англ. - М.: Издательский дом «Вильямс», 2004. - 752 с.: ил. - Парал. тит. англ.

3. Фленов М.Е. Библия C#. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2011. - 560 с., ил. + CD-ROM.

4. Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов. - СПб.: Питер, 2009. - 432 с.: ил.

Приложение А

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Xml.Linq;

using System.IO;

namespace WindowsFormsApplication1

{

public partial class Form1: Form

{

// массив радиокнопок и меток

RadioButton radioButton;

Label label;

XDocument xdoc;

DirectoryInfo di;

// тест - XML-элементы (узлы)

IEnumerable xel;

string fpath; // путь к файлу теста

string fname; // файл теста

// тест - последовательность номеров вопросов

int test;

int cv = 0; // текущий вопрос

int mode = 0; // состояние программы:

// 0 - начало работы;

// 1 - тестирование;

// 2 - завершение работы

int otv; // номер ответа, выбранного испытуемым

int right; // номер правильного ответа

int nr; // количество правильных ответов

int n; // общее количество вопросов

// имя файла теста надо указать в поле Command Line Arguments

// на вкладке Debug, для доступа к которой надо в меню Project

// выбрать команду Properties

public Form1(string args) //(см. также Program.cs)

{

InitializeComponent();

radioButton = new RadioButton;

label = new Label;

for (int i = 0; i < 4; i++)

{

// создать компонент RadioButton

radioButton[i] = new System.Windows.Forms.RadioButton();

radioButton[i].Location = new System.Drawing.Point(25, 20 + i * 16);

radioButton[i].Name = "radioButton" + i.ToString();

radioButton[i].Size = new System.Drawing.Size(14, 13);

// процедура обработки события Click

radioButton[i].Click += new

System.EventHandler(this.radioButton1_Click);

radioButton[i].Parent = this;

// создать компонент Label

label[i] = new System.Windows.Forms.Label();

label[i].AutoSize = true;

label[i].Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

label[i].Location = new System.Drawing.Point(45, 20 + i * 16);

label[i].MaximumSize = new System.Drawing.Size(400, 0);

label[i].Name = "label" + i.ToString();

label[i].Size = new System.Drawing.Size(45, 16);

radioButton[i].Visible = false;

label[i].Parent = this;

}

radioButton5.Checked = true;

// имя файла теста должно быть указано

// в качестве парамета команды запуска программы

if (args.Length > 0)

{

// если указано только имя файла теста,

// то предполагается, что файл находится

// в папке C:\Users\\AppData\Roaming

if (args.IndexOf(":") == -1)

{

di = new

DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));

fpath = di.FullName + "\\";

fname = args;

}

else

{

// указано полное имя файла теста

fpath = args.Substring(0, args.LastIndexOf("\\") + 1);

fname = args.Substring(args.LastIndexOf("\\") + 1);

}

}

else

{

// не указано имя файла теста

label0.Text = "Не указано имя файла теста!";

mode = 2;

return;

}

try

{

xdoc = XDocument.Load(fpath + fname);

xel = xdoc.Elements(); // прочитать XML-файл

// информация о тесте

label0.Text = xel.Elements("info").ElementAt(0).Value;

n = xel.Elements("queries").Elements().Count();

// генерируем тест

test = new int[n]; // создать массив

// запишем в массив test числа от 0 до n-1

// так, чтобы каждое число было в массиве

// только один раз. Это и есть тест - перемешанные

// вопросы

Boolean b; // вспомогательный массив

// b[i] == true, если число i записано в массив test

b = new Boolean[n];

for (int i = 0; i < n; i++)

{

b[i] = false;

}

Random rnd = new Random();

int r; // случайное число

for (int i = 0; i < n; i++)

{

do

r = rnd.Next(n);

while (b[r] == true);

test[i] = r;

b[r] = true;

}

mode = 0;

cv = 0;

}

catch (Exception aException)

{

// ошибка доступа к файлу теста

label0.ForeColor = Color.DarkRed;

label0.Text = aException.Message;

mode = 2;

return;

}

}

private void button1_Click(object sender, EventArgs e)

{

this.button1.Text = ("Следующий вопрос");

switch (mode)

{

case 0:

// отобразить первый вопрос

qw(test);

cv++;

mode = 1;

break;

case 1:

// переход к следующему вопросу

if (otv == right)

nr++; // выбран правильный вариант ответа

if (cv < n)

{

// отобразить следующий вопрос

this.label.BackColor = Color.White;

this.label.BackColor = Color.White;

qw(test);

cv++;

}

else

{

// больше вопросов нет

for (int j = 0; j < 4; j++)

{

label[j].Visible = false;

radioButton[j].Visible = false;

}

pictureBox1.Visible = false;

// обработка и вывод результата

ShowResult();

// следующий щелчок на кнопке Ok

// закроет окно программы

mode = 2;

}

break;

case 2: // завершение работы программы

this.Close(); // закрыть окно

break;

}

}

// отображает вопрос

private void qw(int i)

{

int j;

for (j = 0; j < 4; j++)

{

label[j].Visible = false;

radioButton[j].Visible = false;

}

radioButton5.Checked = true;

// вопрос

label0.Text=xel.Elements("queries").Elements().ElementAt(i).Element("q").Value;

// правильный ответ

right=System.Convert.ToInt32(xel.Elements("queries").Elements().ElementAt(i).Element("q").Attribute("right").Value);

// файл иллюстрации

string src =xel.Elements("queries").Elements().ElementAt(i).Element("q"). Attribute("src"). Value;

if (src.Length != 0)

{

// отобразить иллюстрацию

try

{

pictureBox1.Image = new Bitmap(fpath + src);

pictureBox1.Visible = true;

radioButton.Top = pictureBox1.Bottom + 16;

}

catch

{

if (pictureBox1.Visible)

pictureBox1.Visible = false;

label.Top = radioButton.Top - 3;

}

}

else

{

pictureBox1.Visible = false;

radioButton.Top = label0.Bottom + 10;

label.Top = radioButton.Top - 3;

}

j = 0;

foreach (XElement a in xel.Elements("queries").Elements(). ElementAt(i).Element("as").Elements())

{

label[j].Text = a.Value;

label[j].Visible = true;

radioButton[j].Visible = true;

if (j != 0)

{

radioButton[j].Top = label.Bottom + 10;

label[j].Top = radioButton[j].Top - 3;

}

j++;

}

button1.Enabled = false;

button3.Enabled = true;

}

// щелчок на кнопке выбора ответа

// функция обрабатывает событие Click

// компонентов radioButton

private void radioButton1_Click(object sender, EventArgs e)

{

if ((RadioButton)sender == radioButton) otv = 1;

if ((RadioButton)sender == radioButton) otv = 2;

if ((RadioButton)sender == radioButton) otv = 3;

if ((RadioButton)sender == radioButton) otv = 4;

this.label.BackColor = Color.Red;

this.label.BackColor = Color.Green;

button1.Enabled = true;

button3.Enabled = false;

}

// отобразить результат

private void ShowResult()

{

int k; // количество уровней оценки

int i; // номер уровня

int p = 0; // кол-во правильных ответов, необходимых для

// достижения i-го уровня

k = xel.Elements("levels").Elements().Count();

for (i = 0; i < k - 1; i++)

{

p =System.Convert.ToInt32(xel.Elements("levels").Elements(). ElementAt(i).Attribute("p").Value);

if (nr >= p) // кол-во правильных ответов больше или равно

// необходимому для лостижения уровня

break;

}

// отобразить оценку

label0.Text =

"Всего вопросов: " + n.ToString() + "\n" +

"Правильных ответов: " + nr.ToString() + "\n" +

"Оценка: " + xel.Elements("levels").Elements().ElementAt(i).Value;

this.button1.Text = ("выход");

}

private void button2_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

f2.Show();

}

private void button3_Click(object sender, EventArgs e)

{

switch (mode)

{

case 1:

if (cv < 13)

{

qw(test);

cv++;

}

else

{

cv = 0;

}

break;

}

}

}

}

Размещено на Allbest.ru

...

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

    Выбор состава технических и программных средств для создания данного приложения "Экзаменатор", использование среды разработки Borland Delphi. Основные компоненты и спецификация программы. Используемые технические средства, описание и запуск программы.

    курсовая работа , добавлен 18.07.2012

    Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа , добавлен 19.04.2017

    Исследование алгоритма взаимодействия пользователя с сервером, на котором находится база данных. Реализация безопасности информационной системы с помощью возможностей программного комплекса Visual Studio. Анализ особенностей интерфейса веб-приложения.

    курсовая работа , добавлен 17.06.2017

    Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстрирующего работу многопоточного приложения, использующего взаимоисключение на основе критической секции.

    лабораторная работа , добавлен 21.07.2012

    Разработка алгоритма программного бизнес-приложения в интегрированной среде Microsoft Visual Studio 2005 на языке С#, в целях автоматизации работы помощника инспектора ПТО, регистрирующего и направляющего на технический осмотр транспортные средства.

    дипломная работа , добавлен 24.12.2013

    Технология создания многопоточных приложений в современных системах программирования с использованием языка C# в Visual Studio.NET. Разработка алгоритма и структуры программы. Описание и особенности тестирования приложения с разным количеством потоков.

    курсовая работа , добавлен 14.03.2013

    Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.

    дипломная работа , добавлен 12.08.2017

    Разработка программного кода и алгоритма действий приложения "калькулятор". Использование функций в программе Matlab. Разработка кнопок, опций, интерфейса, оформление. Части кода Matlab и тестовый набор. Инструкция пользователя по работе программы.

    курсовая работа , добавлен 27.09.2014

    Разработка и освоение в современном производстве информационной подсистемы. Создание базы данных в среде MS SQL Server 2008 и приложения в среде MS Visual Studio 2012. Процесс ввода при выборе пунктов меню. Заполнение формы с критериями на фильтрацию.

    отчет по практике , добавлен 27.11.2013

    Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

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

Рассмотрим программу "Экзаменатор" (рис. 10.1), которая позволяет автоматизировать процесс тестирования.

Рис. 10.1. Программа "Экзаменатор"

Требования к программе

В результате анализа различных тестов можно сформулировать следующие требования к программе тестирования:

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

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

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

тест должен представлять собой текстовый файл;

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

Алгоритм программы

Укрупненный алгоритм работы программы "Экзаменатор" приведен на рис. 10.2.

Примеры программ

заголовок, оценки

Конец файла?

вопрос, К и R

Повторить К-раз

вывести на экран

вариант ответа

Получить от

испытуемого

номер ответа

правильный?

Увеличить счетчик

правильных ответов

Вывести результат

Рис. 10.2. Алгоритм программы "Экзаменатор"

Структура файла теста

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

Заголовок (название) теста Сообщение для уровня 1 Сумма баллов для достижения уровня 1 Сообщение для уровня 2

Сумма баллов для достижения уровня 2 Сообщение для уровня 3 Сумма баллов для достижения уровня 3 Сообщение для уровня 4

Сумма баллов для достижения уровня 4 Вопрос 1 Количество вариантов ответа к вопросу 1

Номер правильного ответа на вопрос 1 Вариант ответа Вариант ответа Вариант ответа Вопрос 2

Количество вариантов ответа к вопросу 2 Номер правильного ответа на вопрос 2 Вариант ответа

Примеры программ

Вариант ответа Вариант ответа

В листинге 10.1 в качестве примера приведен файл теста, целью которого является проверка знания истории СанктПетербурга.

Листинг 10.1. Пример файла теста (spb.tst)

История Санкт-Петербурга Отлично

Удовлетворительно

Архитектор Исаакиевского собора:

Доменико Трезини

Огюст Монферран Карл Росси

Александровская колона воздвигнута в 1836 г. как памятник, посвященный:

деяниям императора Александра I

подвигу народа в Отечественной войне 1812 года Архитектор Зимнего дворца:

Бартоломео Растрелли Карл Росси Огюст Монферран

Михайловский замок построен по проекту:

Воронихина Андрея Никифоровича Старова Ивана Егоровича Баженова Василия Ивановича

Остров, на котором находится Ботанический сад, называется:

Медицинский

Аптекарский Невский проспект получил свое название

по имени реки, на которой стоит Санкт-Петербург

по имени близко расположенного монастыря, Александро-Невской лавры

в память о знаменитом полководце - Александре Невском Скульптура памятника Петру I "Медный всадник" выполнена

Фальконе

Примеры программ

Подготовить файл теста можно при помощи редактора Small Basic (рис. 10.3).

Рис. 10.3. Файл теста

Общие сведения

Установка параметров проверки знаний

Проверка знаний

Режим «Подготовка»

Режим «Тестирование»

Режим «Экзамен»

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

Использование «мыши»

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

Общие сведения

Программа автоматизированной проверки знаний «Экзаменатор» предназначена дляпроверки теоретических знаний руководителей испециалистов в области промышленной безопасности и позволяет проводить оперативную проверку знаний персонала и выдавать протоколы по результатам проверки.

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

Вначало

Установка параметров проверки знаний

Программа позволяет самостоятельно устанавливать следующие параметры

Количество задаваемых вопросов;

Количество допустимых ошибок, при котором проверка знаний считается пройденной;

Ограничения времени на проверку знаний.

Ограничение времени возможно в двух вариантах: ограничение времени ответа на один вопрос или ограничение времени, отведенного на всю проверку.

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

Вызов режима установки параметров производится с помощью пункта меню «Параметры».

Вначало

Проверка знаний

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

Для запуска проверки в режиме экзамена необходимо ввести все указанные данные. В режиме тестирования необходимо ввести только ФИО проверяемого. Режим подготовки не требует ввода данных.

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

В нижней части формы отображаются два индикатора. Индикатор «Ход проверки» отображает в графическом виде общее количество вопросов, текущий вопрос (прямоугольник синего цвета) и количество вопросов, на которые был дан ответ (прямоугольники светло-синего цвета). Если в параметрах проверки знаний было установлено ограничение времени, то в нижнем правом углу формы будет отображаться индикатор времени. Цвет индикатора меняется в зависимости от оставшегося времени. Если до момента истечения времени, отведенного на проверку знаний, осталось более 60 секунд, то цвет индикатора – зеленый. Если от 30 до 60 секунд – желтый . Если мене 30 секунд – красный.

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

Для прерывания процесса проверки знаний необходимо нажать клавишу «Esc».

Вначало

Режим «Подготовка»

Данный режим позволяет проводить самостоятельную подготовку к проверке знаний. В данном режиме программа включает следующие дополнительные возможности
  • Сообщение о неправильном ответе
  • Возможность вернуться к вопросу и выбрать другой вариант ответа
  • Получение подсказки с указанием правильного ответа и просмотра комментариев и ссылок на нормативную литературу

Вначало

Режим «Тестирование»

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

Режим «Экзамен»

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





Вначало

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

Для выбора правильного ответа Вы можете использовать клавиши «1» - «5», что позволит непосредственно указать выбранный Вами вариант ответа, или комбинацию клавиш «Стрелка вверх» и «Стрелка вниз» для последовательного выбора вариантов ответов. После того, как Вы выбрали правильный ответ необходимо нажать клавишу «Enter» для подтверждения сделанного выбора. При этом рядом с выбранным вариантом ответа появится индикатор в виде зеленой «галочки» и активизирована кнопка формы «Подтвердить ответ». Повторное нажатие клавиши «Enter» подтвердит сделанный Вами выбор.

Вначало

Использование «мыши»

При использовании «мыши» достаточно перевести указатель «мыши» к правильному варианту и нажать левую кнопку «мыши».

Указанный Вами вариант будет помечен в качестве правильного . Для подтверждения выбранного ответа необходимо «щелкнуть» по кнопке «Подтвердить ответ».

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

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





Для режима экзамена этот флажок устанавливается автоматически.В качестве устройства печати используется принтер, установленный в системе по умолчанию.