MarkScript

Материал из MyTestXPro Wiki Help
Перейти к навигации Перейти к поиску

Эта функция доступна только в бета-версии!

Выставление оценки за тест используя свой скрипт (небольшую программу на языке программирования JavaScript).

В бета-версии кроме обычной шкалы оценивания можно добавить еще свой скрипт, учитывающий какие-то особые требования. Если вычисление оценки завершится неудачно, то оценка будет выставлена обычным образом.

Mtx editor markedit.png Mtx editor markscript1.png

Для сохранения неизменным формата теста, оценочный скрипт записывается в конце заметок к тесту после строки /*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;
}