ФОРМИРОВАНИЕ АКТИВНЫХ СИСТЕМ ТЕСТИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ LATEX

, ,

Оренбургский государственный университет, Оренбург

Подготовка тестовых заданий для студентов различных специальностей ВУЗов и сотрудников организаций и предприятий является актуальной проблемой. В первую очередь это обусловлено большим количеством программных средств и технологий, предназначенных для создания наборов тестовых заданий. Среди многообразия программных продуктов можно выделить два основных вида – коммерческие и свободно распространяемые. С учетом тенденций развития современных информационных технологий, приоритетными являются свободно распространяемые программные продукты. Предлагаемый в работе подход использует свободно распространяемую настольную издательскую систему LaTex [1,2].

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

Формат PDF имеет встроенную поддержку JavaScript [3]. Это позволяет использовать в тестовых заданиях различные активные элементы управления, такие как кнопки, меню и т. д., а так же выполнять подсчет верного количества ответов автоматически.

НЕ нашли? Не то? Что вы ищете?

Реализацию поддержки JavaScript в издательской системе LaTex обеспечивает пакет insdljs. Преамбула документа LaTex с подключенным пакетом insdljs выглядит следующим образом:

\documentclass[12pt]{article}

\usepackage{ucs}

\usepackage{graphicx}

\usepackage{xcolor}

\usepackage[pdftex, unicode=true]{hyperref}

\usepackage[pdftex]{insdljs}

\usepackage{mathptmx}

\usepackage[cp1251]{inputenc}

\usepackage[russian]{babel}

\usepackage[pdftex, unicode=true]{eforms}

\usepackage{amssymb, amsmath}

\everyRadioButton{}

\pagestyle{empty}

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

\begin{center}

\title{\LARGE Тест 2}

\end{center}

\par\bigskip

1. В слоты расширения могут подключаться \dots

\par\bigskip

Выберите ответ:

\ChoiceMenu[combo, name=qque1, width=15em, height=0.2em, menulength=1, popdown=true, value=1, bordercolor={0}]{}{Видеокарты=1, Сканеры=2, Принтеры=3}

\par\bigskip

\medskip\hrule height 1pt\medskip

\par\bigskip

2. Очень короткая программа, которая находится в первом секторе системного диска, ~--- это \dots

\par\bigskip

Выберите ответ:

\ChoiceMenu[combo, name=qque2, width=15em, height=0.2em, menulength=1, popdown=true, value=1, bordercolor={0}]{}{Ядро операционной системы=1, Загрузчик операционной системы=2, Модуль операционной системы=3, BIOS=4}

\par\bigskip

\medskip\hrule height 1pt\medskip

\par\bigskip

3. Языком запросов к реляционным базам данных является \dots

\par\bigskip

Выберите ответ:

\ChoiceMenu[combo, name=qque3, width=15em, height=0.2em, menulength=1, popdown=true, value=1, bordercolor={0}]{}{FORTRAN=1, OLE=2, SQL=3, BIOS=4}

\par\bigskip

\medskip\hrule height 1pt\medskip

\par\bigskip

\pushButton[\CA{Результат} \A{/S/JavaScript/JS(

%подсчет результатов

var answers=[1,2,3];

var count=0;

for(var i=1;i<=answers. length;i++){

var selected = this. getField("qque"+i).value;

if (selected==answers[i-1]){

count++;

}

}

app. alert(String. fromCharCode(1042, 1077, 1088, 1085, 1099, 1093, 32, 1086, 1090, 1074, 1077, 1090, 1086, 1074, 58)+' '+count)

)}]{jsEx}{45bp}{11bp}

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

После компиляции документа получаем PDF-документ следующего содержания (рисунок 1).

Рисунок 1 – Пример тестовых заданий

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

Рисунок 2 – Окно вывода результата

Для оформления диаграмм и рисунков можно воспользоваться бесплатными пакетами расширения для издательской системы LaTex, например, для изображения диаграмм можно использовать пакет PGF/TikZ. С его помощью для тестовых заданий могут быть созданы высококачественные диаграммы (рисунок 3).

Рисунок 3 – Пример диаграммы, подготовленной с помощью пакета PGF/TikZ

Диаграмма, изображенная на рисунке 3, представлена в документе LaTex в виде графа со следующим описанием:

\begin{tikzpicture}[>=stealth', node distance=6.0em, on grid,

addc/.style={xshift=4em},

addr1/.style={yshift=4em},

addr2/.style={yshift=1.5em},

addr3/.style={yshift=2em},

addr4/.style={yshift=1.5em},

addr5/.style={yshift=1.5em},

bcent/.style={text height=1.5ex, text depth=.25ex},

bcentf/.style={text height=1.5ex, text depth=.25ex, fill=gray!20},

block/.style={rectangle, drop shadow, draw, minimum height=2.7em, minimum width=7.5em, align=center},

cyl1/.style={color=black, cylinder, draw, shape border rotate=90, aspect=0.15, left color=orange!70, right color=orange!80, middle color=white, outer sep=-0.5\pgflinewidth, minimum height=5em, align=center}]

\node[bcent](progr){\textbf{Программисты}};

\node[bcent, addc, right=of progr](user){\textbf{Пользователи}};

\node[bcent, addc, right=of user](adm){\textbf{Администраторы БД}};

\node[block, fill=cyan!20, addr1, below=of progr](pprog){Прикладные\\программы};

\node[block, fill=cyan!20, addr1, below=of user](sel){Запросы};

\node[block, fill=cyan!20, addr1, below=of adm](sbd){Схема базы\\данных};

\node[rectangle, rounded corners, draw=black, thick, dotted, fill=yellow!20, minimum height=8.4em, minimum width=33em, xshift=-2em, yshift=-0.5em, below=of sel](subd){};

\node[bcent, xshift=-8.5em, yshift=3em, left=of subd](subdt){\textbf{СУБД}};

\node[block, fill=cyan!20, addr2, below=of pprog](pdml){Препроцессор\\языка \textbf{DML}};

\node[block, fill=cyan!20, addr2, below=of sel](prsel){Процессор\\запросов};

\node[block, fill=cyan!20, addr2, below=of sbd](cdml){Компилятор\\языка \textbf{DDL}};

\node[block, fill=cyan!20, addr3, below=of pdml](ocp){Объектный\\код программы};

\node[block, fill=cyan!20, addr3, below=of prsel](kbd){Контроллер\\базы данных};

\node[block, fill=cyan!20, addr3, below=of cdml](ksl){Контроллер\\словаря};

\node[block, fill=cyan!20, addr4, below=of ocp](md){Методы\\доступа};

\node[block, fill=cyan!20, addr4, below=of kbd](kfile){Контроллер\\файлов};

\node[block, fill=cyan!20, addr5, below=of md](sbuf){Системные\\буферы};

\node[cyl1, xshift=14em, right=of sbuf](bd){\textbf{БД} и системный\\каталог};

\draw [->, very thick, red] (pprog) -- (pdml);

\draw [->, very thick, red] (sel) -- (prsel);

\draw [->, very thick, red] (sbd) -- (cdml);

\draw [->, very thick, red] (pdml) -- (ocp);

\draw [->, very thick, red] (prsel) -- (kbd);

\draw [->, very thick, red] (cdml) -- (ksl);

\draw [<->, very thick, red] (pdml) -- (prsel);

\draw [<->, very thick, red] (prsel. south east) -- (ksl. north west);

\draw [<->, very thick, red] (ocp) -- (kbd);

\draw [<->, very thick, red] (kbd) -- (ksl);

\draw [<->, very thick, red] (kbd) -- (kfile);

\draw [<->, very thick, red] (ksl. south) -- (kfile. east);

\draw [<->, very thick, red] (md) -- (kfile);

\draw [<->, very thick, red] (md) -- (sbuf);

\draw [<->, very thick, red] (sbuf) -- (bd);

\end{tikzpicture}

Проанализировав возможности настольной издательской системы LaTex и ее расширений можно сделать следующие выводы.

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

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

В качестве недостатка можно выделить высокую трудоемкость создания тестовых заданий.

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

Список литературы

1.  Гуссенс, М. Путеводитель по пакету LaTeX и его расширению LaTeX2ε / Ф. Миттельбах, А. Самарин — М.: Машиностроение, 1999. — 473 c.

2.  Львовский, С. М. Набор и верстка в системе LATEX / — М.: МЦНМО, 2006. — 448 с.

3.  Acrobat JavaScript Scripting Guide [Электронный ресурс] : электронная документация  Adobe : July 19, 2005 Режим доступа :
http://partners. /public/developer/en/acrobat/sdk/AcroJSGuide. pdf. — 10.01.2012.