This shows you the differences between two versions of the page.
stats:proc:creategrade [2011/09/27 20:53] Patrick Michel created |
stats:proc:creategrade [2013/07/10 12:43] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Create Grade ====== | ||
- | |||
- | <code xcend> | ||
- | createGrade(ident id, ident gradeId, double value, double minPoints) { | ||
- | assume exists //exams/exam[id]; # implicitly true in OO implementations | ||
- | assume not exists //exams/exam[id]/grades/grade[gradeId]; | ||
- | |||
- | assume count(value, //exams/exam[id]/grades/grade/value) = 0; | ||
- | assume count(minPoints, //exams/exam[id]/grades/grade/minPoints) = 0; | ||
- | | ||
- | assume //exams/exam[id]/grades/grade[x]/value < value -> //exams/exam[id]/grades/grade[x]/minPoints > minPoints; | ||
- | assume value < //exams/exam[id]/grades/grade[x]/value -> minPoints < //exams/exam[id]/grades/grade[x]/minPoints; | ||
- | | ||
- | insert //exams/exam[id]/grades <grade id=[gradeId] value=[value] minPoints=[minPoints] />; | ||
- | } | ||
- | </code> | ||