MarkScript: различия между версиями
Bas (обсуждение | вклад) |
Bas (обсуждение | вклад) |
||
Строка 130: | Строка 130: | ||
Пример №3 это уже один из возможных способов использования этой функции: | Пример №3 это уже один из возможных способов использования этой функции: | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
function main(R, G){ | function main(R, G){ | ||
var m = {}; | var m = {}; | ||
Строка 168: | Строка 143: | ||
m['value'] = 2; | m['value'] = 2; | ||
for (var i in X){ | for (var i in X){ | ||
− | if (X[i]<=(100*R['Score']/R['ScoreMax'])){ | + | if (X[i] <= (100*R['Score']/R['ScoreMax'])){ |
m['value'] = i; | m['value'] = i; | ||
} | } | ||
Строка 174: | Строка 149: | ||
m['note'] = 'Все хорошо!'; | m['note'] = 'Все хорошо!'; | ||
}else{ | }else{ | ||
− | m['value'] = 2; | + | m['value'] = 2; |
− | m['note'] = 'Есть нулевые темы!'; | + | m['note'] = 'Есть нулевые темы!'; |
} | } | ||
return m; | return m; | ||
Строка 181: | Строка 156: | ||
</pre> | </pre> | ||
+ | Его можно применять, например, если требуется поставить оценку в соответствии со следующими критериями: | ||
+ | |||
+ | а) если есть хотя бы одна группа из которой не решено верно хотя бы одно задание, то "2" | ||
− | + | б) иначе "3" - 30% от возможного кол-ва баллов, на "4" - 60%, на "5" - 90%. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Версия 12:31, 24 июля 2021
Выставление оценки за тест используя свой скрипт.
Настройка оценивая теста находится в Редакторе тестов на странице Параметры теста.
Для изменения критерия оценивания нажмите кнопку Изменить...
В редких случаях обычной шкалы оценивания может быть недостаточно и нужно учитывать какие-то особые требования. Например, кроме набранных баллов нужно еще учесть результаты по каждой группе в отдельности. В этом случае для вычисления оценки за тест можно использовать свой скрипт (небольшую программу на языке программирования JavaScript).
Предупреждение: не используйте эту возможность без необходимости. Это бета-версия, реализация может измениться в дальнейшем.
Работа скрипта может зависеть от операционной системы. Если вычисление оценки завершится неудачно, то оценка будет выставлена обычным образом.
Для настройки скрипта используйте кнопку:
Откроется окно:
Если скрипт уже задан ранее, то он будет показан в этом окне.
Функция вычисления оценки получает два параметра: общие результаты по тесту и результаты по каждой группе. Эти два объекта создаются автоматически и зависят от теста и его результатов. Например, они могут выглядеть так:
Для отладки скрипта вы можете изменять эти данные в верхнем поле.
Скрипт оценивания может содержать несколько функций. Для вычисления оценки вызывается функция main().
Эта функция main должна вернуть объект с оценкой и (необязательно) с названием оценки и примечанием. Примечание можно увидеть в журнале (столбец "Примечание") и всплывающей подсказкой наведя мышь на оценку в окне результата.
В контекстном меню (правой кнопкой) поля скрипта есть несколько заготовок, облегчающих понимание и написание своих скриптов.
Пример №1 показывает как скрипт должен возвращать результат:
function main(R, G){ var m = {}; m['value'] = 3; m['title'] = 'Зачет'; m['note'] = 'Примечание!'; return m; }
Пример №2 соответствует обычному способу оценивая (делает тоже самое):
function main(R, G){ var m = {}; var X = {3:30, 4:60, 5:90}; m['value'] = 2; for (var i in X){ if (X[i] <= (100*R['Score']/R['ScoreMax'])){ m['value'] = i; } } return m; }
Пример №3 это уже один из возможных способов использования этой функции:
function main(R, G){ var m = {}; var f = true; for (var key in G){ if(G[key]['CountLimit']!=0 && G[key]['CountCorrectTask']<1){ f = false; break; } } var X = {3:30, 4:60, 5:90}; if(f){ m['value'] = 2; for (var i in X){ if (X[i] <= (100*R['Score']/R['ScoreMax'])){ m['value'] = i; } } m['note'] = 'Все хорошо!'; }else{ m['value'] = 2; m['note'] = 'Есть нулевые темы!'; } return m; }
Его можно применять, например, если требуется поставить оценку в соответствии со следующими критериями:
а) если есть хотя бы одна группа из которой не решено верно хотя бы одно задание, то "2"
б) иначе "3" - 30% от возможного кол-ва баллов, на "4" - 60%, на "5" - 90%.