Шаг 138.
Microsoft Visual C++ 2010. Начала.
Программа "Экзаменатор". Файл теста

    На этом шаге мы рассмотрим структуру файла теста.

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

    Тест (узел верхнего уровня <test>) состоит из:

    Заголовок и описание представляют собой соответственно узлы <head> и <description>.

    Вот пример заголовка и описания:

<head> 
  Архитектурные памятники Санкт-Петербурга 
</head>
<description> 
Сейчас Вам будут предложены вопросы по архитектуре Санкт-Петербурга. 
Задача - из предложенных вариантов ответа выбрать правильный. 
</description> 

    За разделом описания следует раздел вопросов теста - узел <qw>, подузлы <q> которого представляют собой вопросы.

    Узел <q> представляет собой вопрос, а его подузлы <a> - варианты ответа. Параметр text узла <q> задает текст вопроса, а параметр src - имя файла иллюстрации. Узел <a> определяет текст варианта ответа, а параметр rigth указывает, является ли ответ правильным (значение "yes") или нет (значение "no").

    Вот пример вопроса:

<q text="Архитектор Исаакиевского собора" src ="is.jpg" > 
<a right="no">Доменико Трезини</a> 
<a right="yes">Огюст Монферран</a> 
<a right="no">Карл Росси</a> 
</q> 

    В приведенном примере вопрос "Архитектор Исаакиевского собора" сопровождается иллюстрацией, находящейся в файле is.jpg. К вопросу даны три варианта ответа, правильным является второй ответ (архитектор Исаакиевского собора - Огюст Монферран).

    За разделом вопросов следует раздел оценок (узел <levels>), в котором указывается количество баллов (правильных ответов), необходимое для достижения уровня, и сообщение, информирующее испытуемого о достигнутом уровне (оценке). Каждому уровню соответствует узел level, параметр score которого задает количество баллов, необходимое для достижения уровня, параметр text - сообщение.

    Вот пример раздела оценок:

<levels> 
<level score="2" 
text = "На все вопросы Вы ответили правильно. Оценка - ОТЛИЧНО."/> 
<level score="1" 
text = "На некоторые вопросы Вы ответили неправильно. Оценка - ХОРОШО."/> 
<level score="0" 
text = "Вы плохо подготовились к испытанию. Оценка - ПЛОХО!"/> 
</levels> 

    Ниже в качестве примера приведен файл теста "Архитектурные памятники Санкт-Петербурга".

<?xml version="1.0" encoding="Windows-1251"?> 
<test> 
<head> 
Архитектурные памятники Санкт-Петербурга 
</head> 
<description> 
Сейчас Вам будут предложены вопросы по архитектуре Санкт-Петербурга. 
Задача - из предложенных вариантов ответа выбрать правильный. 
</description> 
<qw> 
<q text="Архитектор Исаакиевского собора" src ="is.jpg" > 
<a right="no">Доменико Трезини</a> 
<a right="yes">Огюст Монферран</a> 
<a right="no">Карл Росси</a> 
</q> 
<q text="На фотографии" src ="marks.jpg"> 
<a right="yes">Зимний дворец (Эрмитаж)</a> 
<a right="no">Мариинский дворец</a> 
<a right="no">Строгановский дворец</a> 
</q> 
</qw> 
<levels> 
<level score="2" text = "На все вопросы Вы ответили правильно. Оценка - ОТЛИЧНО."/> 
<level score="1" text = "На некоторые вопросы Вы ответили неправильно. 
    Оценка - ХОРОШО."/> 
<level score="0" text = "Вы плохо подготовились к испытанию. Оценка - ПЛОХО!"/> 
</levels> 
</test> 

    Файл теста можно подготовить в текстовом редакторе, который сохраняет "чистый" (без символов форматирования) текст, например в Блокноте. В момент записи текста на диск вместо стандартного расширения xml можно указать какое-либо другое, например exm (от англ. examiner - экзаменатор). Такое решение позволит настроить операционную систему так, что тест будет запускаться автоматически, в результате щелчка кнопкой мыши на имени файла теста.

    На следующем шаге мы займемся конструированием формы.




Предыдущий шаг Содержание Следующий шаг