Я пытаюсь реализовать простую схему оценки, используя exams
, но ни один из вариантов, кажется, не делает то, что я хотел:
Есть 5 вариантов ответа. Я хочу дать 0,2 балла за все отмеченные правильные ответы и все немаркированные неправильные ответы и ноль баллов за все немаркированные правильные ответы и отмеченные неправильные ответы. Таким образом, задание может дать 0, .2, .4, .6, .8 или 1 балл.
Я знаю, что эта схема оценки может иметь некоторые недостатки, но я уравновешиваю их другими способами.
Мне удалось реализовать это, когда я проводил отсканированные экзамены, потому что я мог использовать функцию расстояния между строками, чтобы определить, сколько символов различается в двух строках, которые кодируют ответы и решения. Но сейчас я хочу сделать это в Moodle, поэтому не могу контролировать оценку.
Вот несколько примеров, которые я пробовал:
ee <- exams_eval(partial = TRUE, rule = "all", negative = FALSE)
ee$pointsum("01111", "10000") # should be 0 and returns 0
ee$pointsum("01111", "10001") # should be .2 but returns 0
ee$pointsum("11111", "10001") # should be .4 and returns .4
ee$pointsum("00000", "11001") # should be .4 but returns 0
ee$pointsum("11011", "00011") # should be .6 but returns .5
ee$pointsum("11111", "10101") # should be .6 and returns .6
ee$pointsum("11001", "10001") # Should be .8 but returns .66
ee$pointsum("00000", "00001") # should be .8 but returns 0
ee$pointsum("11001", "11001") # Should be 1 and returns 1
ee$pointsum("00000", "00000") # Should be 1 but returns 0
Предыдущие примеры дают тот же результат при использовании rule = "false"
или rule = "false2"
, или rule = "true"
. При использовании rule = "none"
это единственное изменение:
ee$pointsum("01111", "10001") # should be .2 but returns 0.25
Есть ли способ реализовать вышеупомянутую схему оценки в Moodle?