El calificador de Moodle no dispone de un condicional para
incorporarlo en las fórmulas de cálculo. Hace algunos años, describía en esta entrada una manera de implementar el
condicional utilizando las funciones min() y round() y, en ciertos casos, sólo
con round().
Como vamos a ver, también puede hacerse utilizando sólo la
función max() -o alternativamente, la función min()-. A cambio, la fórmula que
se obtiene es más larga.
Consideremos el siguiente ejemplo real:
A lo largo de los últimos años mis compañeros que imparten
clase en la ESA, han seguido el siguiente criterio de calificación:
La nota de un trimestre se obtiene haciendo una media
ponderada de la nota de examen, la nota de tareas y la de tutorización, con
pesos respectivos del 50%, 30% y 20%, siempre que la nota de examen sea de al
menos un 3. En caso contrario, la nota del trimestre es simplemente la nota de
examen.
Llamemos Exa1, Tar1 y Tut1, respectivamente a las notas de examen, de tareas y de
tutorización del primer trimestre, ya
multiplicadas por sus correspondientes pesos.
Y supongamos –como así es en este caso- que en las notas que
introducimos en el calificador la cifra de las centésimas es siempre cero, con
lo cual Exa1 nunca puede tomar el
valor 1,49 (puede tomar los valores …, 1,40, 1,45, 1,50, …).
Entonces la nota del primer trimestre puede ser expresada así:
Utilizando la función max(), podemos expresarla de este modo:
Escrita tal como debería ser introducida en Moodle,
queda así:
Una fórmula equivalente,
aunque algo más larga, es la que han venido usando mis compañeros. Es ésta:
Pero el criterio de calificación descrito arriba tiene
algunos inconvenientes: puede darse el caso de un alumno que con sólo un 3,5 en
el examen llegue a obtener un 6,75 (un 7, redondeando) en la nota de evaluación.
Por el contrario, un alumno con un 6 en el examen podría llegar a suspender el
trimestre.
Para evitar estos inconvenientes, se planteó entonces
modificar el criterio de calificación en el sentido siguiente:
-Si la nota del examen es menor que un 3, la nota del
trimestre será dicha nota.
-Si la nota del examen mayor o igual que 3 y menor que 4, la
nota del trimestre será la nota ponderada de examen, tareas y tutorización,
siempre que ésta no supere el 5, en cuyo caso será un 5.
-Si la nota de examen es mayor o igual que 4 y menor que 5,
la nota del trimestre será la nota ponderada.
-Por último, si la nota de examen es mayor o igual que 5, la
nota del trimestre será la mayor de las notas ponderada y de examen.
Entonces, bajo los mismos supuestos que antes, la nota del
trimestre vendría dada por la función:
Utilizando la función max(), podemos expresarla así:
Esta fórmula, escrita tal como debería introducirse en el
calificador de Moodle, queda de esta forma:
Transcribo aquí la ecuación como texto para facilitar su copiado:
=max(0;1,49-[[Exa]])*2*[[Exa1]]/(1,49-[[Exa1]])+max(0;[[Exa1]]-1,49)*max(0;1,99-[[Exa1]])*min([[Exa1]]+[[Tar1]]+[[Tut1]];5)/(([[Exa1]]-1,49)*(1,99-[[Exa1]]))+max(0;[[Exa1]]-1,99)*max(0;2,49-[[Exa1]])*([[Exa1]]+[[Tar1]]+[[Tut1]])/(([[Exa1]]-1,99)*(2,49-[[Exa1]]))+max(0;[[Exa1]]-2,49)*max([[Exa1]]+[[Tar1]]+[[Tut1]];2*[[Exa1]])/([[Exa1]]-2,49)