вторник, 6 сентября 2011 г.

Вычисляемые вопросы в тестах Moodle

Рассмотрим подробнее вопросы вычисляемого типа в Moodle. Плохо, когда студенты получают одни и те же вопросы, требующие одних и тех же ответов. Хорошо, когда вопросы одного типа, но имеют разные числовые данные и требуют продемонстрировать умения производить нужные вычисления. 
Итак, вычисляемый вопрос.
Формулировка такого вопроса включает один или несколько шаблонов переменных, значения которых выбираются случайным образом из заданных множеств (промежутков). Ответ вычисляется по формуле, куда входят указанные переменные.
Пример вопроса:
Найдите значение функции f(x) при х={n}.
Здесь в текст вопроса входит шаблон переменной - {n}.
Значит ответ должен подсчитываться по формуле ={n}^2+3*{n}-6.
При использовании шаблонов переменные заключаются в фигурные скобки. Могут использоваться математические операторы +, -, *, /, ^. Можно также использовать некоторые математические функции языка PHP, например: 

функции с одним аргументом:
abs - абсолютное значение,
acos - арккосинус,
asin - арксинус
atan - арктангенс
ceil - округление дробей в сторону увеличения
cos - косинус
deg2rad - конвертирует число из градусов в радианы
exp - экспонента (e в указаной степени)
floor - округляет дробь в сторону уменьшения
log10 - логарифм с основанием 10
log - натуральный логарифм
rad2deg - конвертирует число из радиан в градусы
round - округляет число с плавающей точкой/float
sin - синус
sqrt - квадратный корень
tan - тангенс
Функции с двумя аргументами:
pow - возведение в произвольную степень
Функции max (наибольшее значение) и min (наименьшее значение) могут иметь два и более аргументов, которые при записи разделяются запятой (а в дробных числах, кстати, употребляется десятичная точка!).
Число "пи" также записывается в виде функции pi().
Полный список функций смотрите в Помощи при редактировании вычисляемого вопроса.
Шаблоны могут быть аргументами функций, для этого их нужно заключать в круглые скобки. Например, sin({a}) + cos({b}) * 2. Функции могут также помещаться одна внутри другой, например, cos(deg2rad({a} + 90)) и т.п.
Ещё пример вопроса по информатике:
Переведите число 1{a}{b}{c}, записанное в двоичной системе счисления, в десятичную. 
Ответ:  8+{a}*4+{b}*2+{c}.
В этом вопросе используются три шаблона переменных {a}, {b}, {c}. Каждая из них должна принимать целые значения - 0 или 1, причём случайным образом. Первая цифра - всегда 1, поэтому шаблон не используем.
Теперь требуется задать промежуток для переменных a, b, c. Переходим на следующую страницу редактирования вопроса - Редактировать набор данных - и там задаём диапазон значений и кол-во знаков после запятой, а также какое-то значение переменной (на рисунке - {t}).
Ниже нажимаем на кнопку Добавить ..1..элементов. Один элемент добавится. В дальнейшем можно добавлять элементы не по одному, а сразу по 10, 20 и т.д., если комбинаций много.
Такой шаблон переменной сохраняется в категории данного вопроса и может использоваться в других вопросах этой категории.

2 комментария:

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

    ОтветитьУдалить
    Ответы
    1. Для "индивидуальных" вопросов и формирую "вычисляемый ответ". Тогда машина имеет базу похожих по сути, но разных по содержанию вопросов с параметрами.

      Удалить

Related Posts Plugin for WordPress, Blogger...