Перейти к содержимому


[Решено] Результат вопроса с несколькими ответами


Сообщений в теме: 15

#1 volgautc

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 28 Ноябрь 2016 - 21:11

Добрый день!
Никак не соображу как в вопросе с чекбокс-ответами выставить следующие результаты по ответам:

Ответ1 - 1 балл
Ответ2 - 1 балл
Ответ3 - 0 баллов
Ответ4 - 0 баллов

При ответах 1 и 2 надо в результате 2 балла (полностью верно)
При ответах 1 или 2 надо в результатах 1 балл (частично верно)
При любых комбинациях ответов, если в них есть ответы 3 и/или 4 надо в результатах 0 баллов (не верно).

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

Видимо надо по таким вопросам (их несколько) отдельную шкалу делать и как-то увязывать её с другой шкалой (для вопросов с одним ответом)... на этом и остановились.

С уважением,
Геннадий

#2 Administrator

    Менеджер проекта

  • Администраторы
  • 1 407 сообщений

Отправлено 29 Ноябрь 2016 - 16:44

Здравствуйте!

Режим "За каждый вариант ответа свой балл" работает как сумма баллов за выбранные варианты ответа. Концептуальных вариаций тут может быть несколько. Одна из них как Вы привели.

Просмотр сообщенияvolgautc (28 Ноябрь 2016 - 21:11) писал:

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

Для этого в нашей вариации нужно проставлять отрицательные (штрафные) баллы за неверные ответы.

Если Вам нужно, чтобы если выбран хоть один неверный ответ, то это можно сделать, но трудоемко, если это нужно для каждого вопроса и таких вопросов много. Но тем не менее это можно сделать, причем разными способами. Приведу пример:

Изображение


Изображение

Функция F() введена для удобства, чтобы сократить запись и не дублировать ее для каждого вопроса. Функция принимает в качества аргумента балл за вопрос. Если Балл за него больше нуля, то он и возвращается в качестве результата вызова функции. Если балл отрицательный, то возвращается ноль. И так результаты этих функций суммируются для каждого вопроса.

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

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

  • Прикрепленный файл  Test.itest   39К   418 Количество загрузок:


#3 volgautc

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 29 Ноябрь 2016 - 17:06

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

#4 Administrator

    Менеджер проекта

  • Администраторы
  • 1 407 сообщений

Отправлено 29 Ноябрь 2016 - 17:13

1. По поводу того как это увязать с другими вопросами, то ничего увязывать не нужно, Вы можете другие вопросы включить в этот же порядок суммирования F()+F()... На них это никак не повлияет. Т.к. за вопросы других типов будет балл или 0 или положительный балл, поэтому результат их значений будет всегда возвращаться. А можно их просто суммировать не прогоняя через функцию F. Прогонять через F, только те вопросы, которые нужно. По сути это на результат не скажется, но с точки зрения программирования будет более быстрее (на что тут можно не заморачиваться), но с точки зрения анализа и вероятности допустить ошибки будет немного сложнее, т.к. одни вопросы будут прогняться через F(), а другие нет. Я бы прогонял все вопросы, тогда запись будет более однородная и простая. Ещё можно именно вопросы, которые не нужно прогонять через F() вынести в отдельную папку и просто просуммировать сумму баллов за нее. Тут все зависит от структуры теста, нужно ли соблюдать строгий порядок выдачи вопросов или нет, можно ли сделать выдачу вопросов без F() в одной кучке один за другим. Если можно, то просто для всех остальных создайте отдельную папку и перетащите их в нее. И в формулу допишите + Балл(Группа)

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

По сути, по аналогии с тестом по умолчанию

Изображение

Вам нужно обернуть вашу сумму баллов за вопросы в эту формулу процента, так:

Изображение

#5 volgautc

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 29 Ноябрь 2016 - 20:49

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

#6 Samuravey

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 28 Февраль 2017 - 19:15

Здравствуйте!
Столкнулись с похожей ситуацией, не совсем корректно получилось настроить шкалу.
Подскажите пожалуйста, возможно ли реализовать такой вариант обработки результата:

Есть тест, в котором два блока с вопросами.
Первый блок - стандартный: вопросы с 1 вариантом ответа, дающим 1 балл
Второй блок - вопросы, в которых два правильных ответа из 4-х. За каждый правильный ответ тестируемый получает 4 балла. Соответственно выбрав верно оба правильных ответа-получает 8 баллов.
Указав все варианты получает 0 баллов. Один правильно, один неправильно - 4 балла. Один правильно два неправильно - 0 баллов.(если бы система не давала выбрать больше двух вариантов из 4-х,как в варианте с одним ответом) алгоритм был бы уже)
Вопросы в "тестовом" тесте расположены таким образом
Изображение

Настройка выводов результатов выполнена таким образом

Изображение

соответственно баллы расставлялись 4, -4 для блока вопросов с двумя верными ответами
Изображение

некорректно считает для случаев, когда тестируемый выбирает все 4 ответа и получает 8 баллов, а должен 0, а так же когда выбирает 3 ответа(2 неправильных, один правильный)

#7 Administrator

    Менеджер проекта

  • Администраторы
  • 1 407 сообщений

Отправлено 28 Февраль 2017 - 22:02

Здравствуйте!

Цитата

некорректно считает для случаев, когда тестируемый выбирает все 4 ответа и получает 8 баллов, а должен 0

- Вы тут ошиблись. Сумма баллов даст 0, условие 0 > 0 вернет ложь, итог 0.

Цитата

а так же когда выбирает 3 ответа(2 неправильных, один правильный)

- Потому что Вы в предыдущем примере не учли, что за неправильные ответы проставлялось -10. Это было было сделано специально, чтобы неправильный ответ за вопрос заваливал сумму баллов меньше 0. Вы можете за неправильные ответы указать какое-то большое отрицательное число, чтобы сумма правильных ответов не смогла вытянуть сумму в плюс. Например, можно указать те же -10. Тогда если выбрать 2 правильных и один неправильных получим 4+4-10=-2, -2 меньше 0, значит условный оператор вернет 0.

#8 Samuravey

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 01 Март 2017 - 09:16

Спасибо большое за оперативную подсказку!
Попробую сминусовать баллы и еще раз прогнать все комбинации!

#9 Samuravey

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 01 Март 2017 - 09:37

При такой ситуации система корректно отработала ситуации:
Выбрано 2 неправильных, один правильный - 0 баллов
Выбраны все 4 варианта- о баллов.

Но не настроить ситуацию, когда указано 2 правильных, а третий неправильный и тестируемый должен получить всего 4 балла((
а получает 0

Баллы выстроили 4 за правильный и -10 за неправильный

#10 Administrator

    Менеджер проекта

  • Администраторы
  • 1 407 сообщений

Отправлено 01 Март 2017 - 16:33

Просмотр сообщенияSamuravey (01 Март 2017 - 09:37) писал:

При такой ситуации система корректно отработала ситуации:
Выбрано 2 неправильных, один правильный - 0 баллов
Выбраны все 4 варианта- о баллов.

Но не настроить ситуацию, когда указано 2 правильных, а третий неправильный и тестируемый должен получить всего 4 балла((
а получает 0

Баллы выстроили 4 за правильный и -10 за неправильный

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

0 правильных 0 неправильных = 0 баллов (0)
0 правильных 1 неправильный = 0 баллов (0)
0 правильных 2 неправильных = 0 баллов (0)
1 правильный 0 неправильных = 4 балла (4)
1 правильный 1 неправильный = 4 балла (4-10=-6)
1 правильный 2 неправильных = 0 баллов (4-10-10=-16)
2 правильных 0 неправильных = 8 баллов (4+4=8)
2 правильных 1 неправильный = 4 балла (4+4-10=-2)
2 правильных 2 неправильных = 0 баллов (4+4-10-10=-12)

Делаем следующее преобразование:

if($score == 4 or $score == -6 or $score == -2) return 4;
else if($score == 8) return 8;
else return 0;

Это значит следующее:
Если Балл=4 или Балл =-6 или Балл=-2 То Результат 4.
Иначе Если Балл=8 То Результат 8.
Иначе Результат 0.

Вот так это будет выглядеть в функции шкалы:

Изображение

Прикладываю файл экспорта к сообщению.

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

  • Прикрепленный файл  Test.itest   39К   515 Количество загрузок:


#11 Samuravey

    Пользователь

  • Пользователи
  • PipPip
  • 13 сообщений

Отправлено 01 Март 2017 - 18:09

Большое спасибо!
Принцип полностью стал понятен.
На основе него вывели себе различные комбинации!

#12 hr@gasznak.ru

    Новичок

  • Пользователи
  • Pip
  • 3 сообщений

Отправлено 16 Март 2017 - 16:21

Добрый день!

Помогите решить следующую задачу:
Идет опрос руководителей по какому либо конкретному сотруднику. У каждого вопроса есть свой вес (от 0 до 1). В конце выводится результат, например средний балл.
Проблема: т.к. руководители могут ответить не на все вопросы (не знают что выбрать), добавлен вариант ответа "не знаю" (он самый первый на скрине). Требуется сделать так, чтобы вопросы с таким ответом не участвовали в конечной обработке, а просто игнорировались.
Пример:
Вопрос 1 - Ответ 2
Вопрос 2 - Ответ 4
Вопрос 3 - Ответ 1 ("не знаю")
Вопрос 4 - Ответ 3

Суммируются баллы только по Вопросам 1,2 и 4.

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

  • Прикрепленное изображение: Снимок.JPG


#13 Administrator

    Менеджер проекта

  • Администраторы
  • 1 407 сообщений

Отправлено 16 Март 2017 - 21:24

Здравствуйте!

Вот решение:

Изображение

Две суммы Числитель и Знаменатель. Функция элемента суммирования Числителя F1() проверят, если балл за вариант ответа не равен -1 (не равен "Не знаю"), то возвращается этот балл за вопрос без изменений, а если равен -1 (равен "Не знаю"), то возвращается 0, т.е. элемент не суммируется. Функция элемента суммирования Знаменателя F2() аналогично смотрит равно значение -1 или нет, и если не равно, то возвращает 1, а если равно, то возвращает 0, таким образом мы получим количество вопросов, на которое был дан любой ответ, кроме "Не знаю". Потом одна сумма делится на другую, т.е. сумма баллов за все вопросы, кроме тех, на которые дан ответ "Не знаю" делится на количество этих вопросов. Таким образом, вопросы с ответом "Не знаю" полностью исключаются из конечного результата теста. Файл теста с примером прикладываю к сообщению.

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



#14 Dasein

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 31 Март 2017 - 13:38

Здравствуйте!
Возникла необходимость использовать вашу программу для проверки части ГИА. Проблема при подсчете баллов в следующем:
1. В вопросах 23-24 2 балла выставляется за точный ответ. 1 балл выставляется, если в ответе 2 из 3-х верных цифр, либо 3 верных ответа+1 неверный.
2. В вопросе 25 2 балла ставится за полностью верный ответ, 1 балл выставляется за одну неправильную позицию, 0 баллов в остальных случаях.
В демо-версиях с вашего сайта в подобных вопросах выставляется либо 2 балла за полностью правильный ответ, либо 0 во всех остальных случаях.
Кроме того, если я потом добавлю сюда вопросы 1-22, за которые ставится 1 балл при правильном ответе, как мне их учитывать при подсчете общего кол-ва баллов за весь тест?
Сижу уже долго, своими мозгами и руками пока не получается. :(
Пример своей попытки прикладываю, надеюсь на помощь.

#15 Administrator

    Менеджер проекта

  • Администраторы
  • 1 407 сообщений

Отправлено 31 Март 2017 - 20:23

Здравствуйте!

Нельзя мешать код и функции в кучу. Сначала пишется сумма того чего нужно, потом ставится точки с запятой, а потом уже пишутся функции. Функция F2 прописана верно. В Функции F не понятно зачем нужна третья строчка Если балл равен 1, то возвращаем 1. В том словесном описании, что Вы привели этого нет. Вот правильное решение:

Изображение

Вопрос 1, 2 и 3 в конце это как бы сумма всех остальных вопросов, просто суммируются баллы без каких-либо функций обработки. Если это позволительно, то все остальные вопросы для упрощения можно свалить в одну папку и просто просуммировать балл за эту папку. Или чтобы сохранить порядок вопросов, все вопросы до 23 можно свалить в папку 1-23, а все вопросы после 25, тоже объединить, и тогда в формулу добавится только две суммы этих папок, чтобы не перечислять каждый вопрос в отдельности.

Файл тест прикладываю к сообщению

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

  • Прикрепленный файл  Демо.itest   40К   325 Количество загрузок:


#16 Dasein

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 01 Апрель 2017 - 12:13

Огромное спасибо!




Ответить



  

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных