←  Вопросы составления тестов

Форум системы тестирования INDIGO

»

[Решено] Ответы по разным шкалам

 фотография Viktor 21 ноя 2019

Добрый день.

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

 фотография Administrator 21 ноя 2019

Здравствуйте, Виктор!

Это можно сделать. В INDIGO можно сделать что угодно. В данном случае требуется немножко простого программирования. Для вопросов множественного выбора нужно включить опцию "За каждый вариант ответа свой балл" и проставить степени двойки 2 4 8 16 32.

Изображение


Когда пользователь будет выбирать варианты ответа эти баллы будут суммироваться.

Сумма таких чисел в двоичной системе счисления выдает значения типа 00000 - когда все не отвеченные, или 2+4+8+16+32=62, что в двоичной системе счисления 11111 - когда все отвеченные, или, например, 2=00001, когда первый отвечен, а другие нет. Или 10101, когда отвечены 1 3 и 5-ый вариант ответа. Т.е. получая простую сумму баллов мы можем в двоичной системе счисления задетектить на какие именно варианты ответа был дан ответ, т.к. каждое число располагается в отдельном разряде двоичной системы счисления. Для удобства обработки мы написали функцию:

function f($a,$n)
{
return ($a & pow(2,$n)) ? 1 : 0;
}

Она проставляется только в первой шкале, чтобы она стала доступна во всех остальных шкалах.

Изображение

Данная функция в первом аргументе принимает балл за вопрос, а во втором требуемый вариант ответа. Возвращает 0, если в этом вопросе данный вариант ответа не был проставлен пользователем, и возвращает 1, если в данном вопросе этот вариант ответа был проставлен.

Использовать это можно следующим образом:

Изображение

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

Изображение

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

Вывод результатов:
Изображение

Файл с тестом прикладываю к письму.

Прикрепленные файлы

Ответить

 фотография Viktor 21 ноя 2019

Спасибо, попробую.
Ответить

 фотография cep 3epo 21 ноя 2019

Добрый день, Станислав Викторович!

Мне кажется, что сегодняшнее Ваше предложение решает еще одну специфическую задачу. Объясню для форумчан и напомню Вам. Мне нужно было, чтобы в тестах с выбором нескольких вариантов каждый правильный ответ, обозначенный галочкой, давал 1 балл и каждый неправильный вариант, НЕ обозначенный галочкой – тоже 1 балл. Схематически см. на снимке1 (знак # обозначает результативный вариант). Итого: от 0 до 5 баллов.

Я ввел дополнительную функцию, отличающуюся от Вашей диаметрально противоположным возвращением 0 и 1. Оцените вкратце, пожалуйста.

Что не понравилось:

1: Представление результатов в журнале (см. снимок2).
2: Чтобы набрать предусмотренные шкалами 6 баллов, можно не париться: расставить все 15 галок. При этом просмотр результатов невозможен (ошибок-то по факту нет). В моем же тесте при 15 галочках в колонке «Результат» выводится <ошибка тип 1>.
3: Как при значениях 2, 4, 8, 16, 32… считать общий результат за все задание, если в нем есть другие типы вопросов (с ценой 1 балл за тест)?

p/s Высказанные замечания имеют целью не критику, а стимулирование к усовершенствованию. Поскольку в программировании я не силен, предложенным вариантом больше чем доволен.

Прикрепленные изображения

  • Прикрепленное изображение
  • Прикрепленное изображение

Прикрепленные файлы

Ответить

 фотография Administrator 21 ноя 2019

Цитата

1: Представление результатов в журнале (см. снимок2).
2: Чтобы набрать предусмотренные шкалами 6 баллов, можно не париться: расставить все 15 галок. При этом просмотр результатов невозможен (ошибок-то по факту нет).

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

Цитата

В моем же тесте при 15 галочках в колонке «Результат» выводится <ошибка тип 1>

- Вы добавили шкалы "Функция2" и "Итого", а деления для них не выключили. Значения не попадают в деление по умолчанию и происходит ошибка. Отключите деления.

Цитата

3: Как при значениях 2, 4, 8, 16, 32… считать общий результат за все задание, если в нем есть другие типы вопросов (с ценой 1 балл за тест)?

- Нужно другие вопросы включить в шкалу путем их суммирования, но уже без обертывания в вызов функции. Если же для других типов вопросов нужна какая-та другая обработка, то можно также создать отдельные функции f3(), f4() и т.д. для их обработки.

p.s. для f2() Вам не обязательно было создавать отдельную Шкалу, можно было ее прописать туда же, где и f1().
Ответить