MarkScript: различия между версиями
Bas (обсуждение | вклад) |
Bas (обсуждение | вклад) |
||
Строка 46: | Строка 46: | ||
Функция для вычисления оценки называется main. Она получает два параметра: общие результаты по тесту и результаты по каждой группе. | Функция для вычисления оценки называется main. Она получает два параметра: общие результаты по тесту и результаты по каждой группе. | ||
+ | |||
+ | <spoiler text="Показать"> | ||
+ | <pre> | ||
+ | Result = {}; | ||
+ | Result['ScoreMax'] = 9; | ||
+ | Result['Score'] = 6,00; | ||
+ | Result['CountTask'] = 9; | ||
+ | Result['CountAskTask'] = 9; | ||
+ | Result['CountCorrectTask'] = 6; | ||
+ | Result['CountPartiallyTask'] = 0; | ||
+ | Result['CountErrorTask'] = 3; | ||
+ | Result['CountMissTask'] = 0; | ||
+ | Result['CountUsePrompt'] = 0; | ||
+ | Result['CountSecond'] = 11; | ||
+ | Result['CountGroup'] = 5; | ||
+ | Group = {}; | ||
+ | Group[0] = {}; | ||
+ | Group[0]['Title'] = 'Группа 1'; | ||
+ | Group[0]['CountLimit'] = 1; | ||
+ | Group[0]['Count'] = 1; | ||
+ | Group[0]['ScoreMax'] = 1; | ||
+ | Group[0]['Score'] = 1,00; | ||
+ | Group[0]['CountTask'] = 1; | ||
+ | Group[0]['CountCorrectTask'] = 1; | ||
+ | Group[0]['CountPartiallyTask'] = 0; | ||
+ | Group[0]['CountErrorTask'] = 0; | ||
+ | Group[1] = {}; | ||
+ | Group[1]['Title'] = 'Группа 2'; | ||
+ | Group[1]['CountLimit'] = 2; | ||
+ | Group[1]['Count'] = 2; | ||
+ | Group[1]['ScoreMax'] = 2; | ||
+ | Group[1]['Score'] = 0,00; | ||
+ | Group[1]['CountTask'] = 2; | ||
+ | Group[1]['CountCorrectTask'] = 0; | ||
+ | Group[1]['CountPartiallyTask'] = 0; | ||
+ | Group[1]['CountErrorTask'] = 2; | ||
+ | Group[2] = {}; | ||
+ | Group[2]['Title'] = 'Группа 3'; | ||
+ | Group[2]['CountLimit'] = 1; | ||
+ | Group[2]['Count'] = 1; | ||
+ | Group[2]['ScoreMax'] = 1; | ||
+ | Group[2]['Score'] = 1,00; | ||
+ | Group[2]['CountTask'] = 1; | ||
+ | Group[2]['CountCorrectTask'] = 1; | ||
+ | Group[2]['CountPartiallyTask'] = 0; | ||
+ | Group[2]['CountErrorTask'] = 0; | ||
+ | Group[3] = {}; | ||
+ | Group[3]['Title'] = 'Группа 4'; | ||
+ | Group[3]['CountLimit'] = 2; | ||
+ | Group[3]['Count'] = 2; | ||
+ | Group[3]['ScoreMax'] = 2; | ||
+ | Group[3]['Score'] = 2,00; | ||
+ | Group[3]['CountTask'] = 2; | ||
+ | Group[3]['CountCorrectTask'] = 2; | ||
+ | Group[3]['CountPartiallyTask'] = 0; | ||
+ | Group[3]['CountErrorTask'] = 0; | ||
+ | Group[4] = {}; | ||
+ | Group[4]['Title'] = 'Группа 5'; | ||
+ | Group[4]['CountLimit'] = 3; | ||
+ | Group[4]['Count'] = 3; | ||
+ | Group[4]['ScoreMax'] = 3; | ||
+ | Group[4]['Score'] = 2,00; | ||
+ | Group[4]['CountTask'] = 3; | ||
+ | Group[4]['CountCorrectTask'] = 2; | ||
+ | Group[4]['CountPartiallyTask'] = 0; | ||
+ | Group[4]['CountErrorTask'] = 1; | ||
+ | </pre> | ||
+ | </spoiler> |
Версия 18:30, 12 апреля 2021
Эта функция доступна только в бета-версии!
Выставление оценки за тест используя свой скрипт (небольшую программу на языке программирования JavaScript).
В бета-версии кроме обычной шкалы оценивания можно добавить еще свой скрипт, учитывающий какие-то особые требования. Если вычисление оценки завершится неудачно, то оценка будет выставлена обычным образом.
Для сохранения неизменным формата теста, оценочный скрипт записывается в конце заметок к тесту после строки /*MarkScript*/ (до нее можно писать в заметках все что угодно).
Например, если требуется поставить оценку в соответствии со следующими критериями:
а) если хотя бы из одной группы не решено верно хотя бы одно задание, то "2"
б) иначе (если в каждой группе есть хотя бы одно верное решенное задание), то на "3" - 30% от возможного кол-ва баллов, на "4" - 60%, на "5" - 90%.
то можно задать вот такой скрипт:
/*MarkScript*/ 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; }
Функция для вычисления оценки называется main. Она получает два параметра: общие результаты по тесту и результаты по каждой группе.