Russian Qt Forum
Ноябрь 26, 2024, 09:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3 4   Вниз
  Печать  
Автор Тема: Расчёт процента правильных ответов  (Прочитано 41161 раз)
Nimbus
Гость
« : Апрель 07, 2011, 18:22 »

Здравствуйте. Столкнулся с проблемой вывода формулы расчёта процента правильных ответов для тестирующей системы.
Казалось бы, всё банально просто:
% правильных = кол-во правильных ответов / кол-во вопросов * 100.
Но тут возникла проблема - есть вопросы, в которых несколько правильных ответов, следовательно и вопрос там уже звучит типа "отметить галочками правильные". То есть, человек, может отметить все ответы в таком вопросе, в том числе и неправильные, а наша формула подсчитывает, исходя из кол-ва правильных, что уже будет некорректно.
Чтобы рассеять нависший туман, давайте изменим отношение {вопрос-правильный ответ} из 1:1 на 1:М, и добавим такое же отношение 1:М {вопрос-неправильный ответ}.
Как вариант я подумал, что можно считать локально для каждого вопроса кол-во правильных и неправильных, а потом вычитать одно из другого, и найти сумму этих разностей и её и принимать за количество правильных ответов, но тогда возможны отрицательные значения, ибо кол-во неправильных может превышать кол-во правильных (хоть в каждом вопросе). Как тогда быть? Тупо принимать отрицательный результат за 0? Но это тоже как-то странно. Кто-нибудь уже решал подобную проблему? Посоветуйте, пожалуйста, как правильнее тут быть?
Записан
voral
Гость
« Ответ #1 : Апрель 07, 2011, 18:29 »

Количество правильных ответов  = считай за каждый ответ 1 бал.
Если на один вопрос несколько правильных ответов то их сумма должна быть 1. Т.е. если полный правильный ответ должен содержать 2 отмеченных пункта то вес каждого из них 0.5

Итого если имеем 2 вопроса. На один из них нужно отметить два ответа. И отвечающий ответил на один полный вопос павильно и отметил только один ответ в другом то:

% правильных = ((1 + 0.5) / 2) * 100.

Если так?
Записан
Nimbus
Гость
« Ответ #2 : Апрель 07, 2011, 18:40 »

Количество правильных ответов  = считай за каждый ответ 1 бал.
Если на один вопрос несколько правильных ответов то их сумма должна быть 1. Т.е. если полный правильный ответ должен содержать 2 отмеченных пункта то вес каждого из них 0.5

Итого если имеем 2 вопроса. На один из них нужно отметить два ответа. И отвечающий ответил на один полный вопос павильно и отметил только один ответ в другом то:

% правильных = ((1 + 0.5) / 2) * 100.

Если так?
Так опять же, тут "палка о двух концах", нельзя учитывать ТОЛЬКО правильные ответы, ибо если он в обоих вопросах отметит все пункты и правильные и неправильные, тогда что? Ну даже если ввести "вес" каждого варианта ответа (правильного и неправильного), то опять отрицательных сумм не избежать. То есть, грубо говоря, человек отметил и правильные и неправильные. За неправильные его нужно как-то "покарать". И опять возвращаемся к отрицательным суммам...
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Апрель 07, 2011, 18:48 »

Если в вопросе несколько правильных ответов и отмечен один из них, то ответ на вопрос считается правильным?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Nimbus
Гость
« Ответ #4 : Апрель 07, 2011, 18:53 »

Если в вопросе несколько правильных ответов и отмечен один из них, то ответ на вопрос считается правильным?
Это я и пытаюсь выяснить как считается подобное. По идее, частично. Мы же проценты считаем - тут могут спокойно могут быть дробные части. Только вот как, например быть, если он отметил один правильный и два неправильных... А три неправильных? Это же должно учитываться в том-то и дело.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Апрель 07, 2011, 18:55 »

Не. Я не о том.
Если не отмечены все верные ответы, то ответ считается неверным? Это как раз зависит от вида теста.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Nimbus
Гость
« Ответ #6 : Апрель 07, 2011, 19:00 »

Если не отмечены все верные ответы, то ответ считается неверным?
Я же сказал, что частично. То есть какая-то дробная часть будет прибавлена к итоговому количеству правильных ответов
Записан
ритт
Гость
« Ответ #7 : Апрель 07, 2011, 19:19 »

если хоть один из множества вариантов ответов неверен, ответ также неверен.
не вижу смысла считать десятичные доли... это как "Вы ответили верно на 2.3 вопроса"? ))
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Апрель 07, 2011, 19:26 »

Впечатление что без веса/цены ошибки не обойтись. Предельные случаи - человек вообще ничего не отметил, или, как Вы говорили, тупо пометил все. Разумный итог в этом случае должен быть = 0.

Пусть 1 пункт состоит из 5 вариантов, 3 верны, 2 нет. Тогда

- вес 1 верного варианта = 1/3
- вес 1 неверного = -1/2

Дальше просто проходим по вариантам что он пометил галочками. Верный помечен +1/3. неверный -1/2. Сумма оказалась < 0 - вернули 0
Записан
brankovic
Гость
« Ответ #9 : Апрель 07, 2011, 19:49 »

отмечены все правильные и только они - 1, иначе - 0

чтобы ботали как следует

Edit:

вообще ничего не отметил, или, как Вы говорили, тупо пометил все. Разумный итог в этом случае должен быть = 0.

три пункта, все верны, разумный итог для всех отмеченных - 1, в вашем алгоритме -- деление на ноль
три пункта, все неверны, разумный итог для всех пустых - 1, в вашем алгоритме -- деление на ноль

Сумма оказалась < 0 - вернули 0

не смешно
« Последнее редактирование: Апрель 07, 2011, 20:01 от brankovic » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Апрель 07, 2011, 20:20 »

три пункта, все верны, разумный итог для всех отмеченных - 1, в вашем алгоритме -- деление на ноль
три пункта, все неверны, разумный итог для всех пустых - 1, в вашем алгоритме -- деление на ноль
Ну все верны и все отмечены (или нет) - все нормально, никакого деления на ноль нет. А вот вариант когда "все неверны" - хмм.. действительно не укладывается  Улыбающийся Может его отдельно рассматривать как boolean

В конце концов, любая оценка здесь "волевая" и любая имеет минусы. Все boolean - очень легко реализовать. но такой тест мало что покажет. Штраф за неверный провоцирует ставить меньше галочек и.т.п.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #11 : Апрель 07, 2011, 20:59 »

отмечены все правильные и только они - 1, иначе - 0
Согласен, иначе зачем их (подвопросы) объединять в один вопрос.  
Ответ может быть либо правильным, либо ошибочным. Чего-то среднего быть не должно)
Если этот тест не по философии  Смеющийся
« Последнее редактирование: Апрель 07, 2011, 21:03 от m_ax » Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Nimbus
Гость
« Ответ #12 : Апрель 08, 2011, 04:57 »

Думаю, тогда реализовать как предложил voral, но с учётом, что рассчитываем локально для каждого вопроса "вес" правильного ответа и "вес" неправильного ответа, находим общий "вес" правильных и неправильных, находим разность между ними, если она <= 0, то просто прибавляем 0 к текущей сумме правильных ответов, т. е. если человек отметил все, то он естественно получит 0. Ну а там дальше по "весу" уже определяем сколько он набрал за каждый вопрос. Но вот опять трабла, как быть в ситуации, например, если у нас в вопросе 3 правильных и один неправильный вариантов ответа? Тогда, получается, что если человек отметит неправильный и два правильных, то всё равно получит 0 баллов за этот вопрос. Блин, опять те же грабли...
Тогда, я считаю, что самый разумный вариант - это реализовать как говорит Igors здесь, с поправкой, что вариантов "ВСЕ верные", или "ВСЕ неверные" не будет Улыбающийся Как вы думаете?
Записан
voral
Гость
« Ответ #13 : Апрель 08, 2011, 08:40 »

Идея следующая.
1. Рассчитываем (как я говорил ранее) процент правильных ответов.
2. Рассчитываем (по тому же алгоритму) процент неправильных ответов.

Дальше нужно по рассуждать и понять, что больше подходит в качестве оценки.
Вариант 1. Просто Вычитаем из процента правильных процент неправильных
Вариант 2. Считаем ту же разность как и в 1 варианте. За 100% принимаем 100% правильных и 0% неправильных, за 0% - 0% правильных и 100% неправильных. Узнаем где находится на этой шкале наш результат по варианту 1.
Записан
Nimbus
Гость
« Ответ #14 : Апрель 08, 2011, 09:27 »

Вариант 1. Просто Вычитаем из процента правильных процент неправильных
Тогда получается пример: два вопроса. В каждом по одному правильному варианту ответа. В первом мы ткнули правильный, во втором неправильный. Получается мы должны получить 50%. А мы получим 0%, ибо мы и так 50% ответили правильно и 50% ответили неправильно. Одно из другого вычитается и получается 0.
Или в таком случае вообще не нужно считать кол-во правильных, а только кол-во неправильных? То есть изначально у нас 100% и мы отнимаем от них % неправильных и получаем сколько у нас правильно. Соответственно, если всё правильно, то 100% так и останется.
Записан
Страниц: [1] 2 3 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.064 секунд. Запросов: 23.