Caso práctico de cálculo avanzado en el calificador : uso de los operadores IF/OR
Supongamos que tenemos 3 ejercicios obligatorios y un examen final en nuestro curso. Esta configuración nos genera un calificador del tipo:
Queremos configurar el cálculo de forma que si el alumno obtiene una calificación inferior a 5 al realizar la media aritmética de los tres ejercicios obligatorios, o bien, la calificación del examen final es inferior a 5, el sistema pondrá un 0 a la calificación total de la categoría, y en caso contrario, realizará la media aritmética de los ejercicios obligatorios y el examen final.
En este caso, para facilitar el ejemplo, hemos utilizado elementos de calificación, pero se podría utilizar cualquier actividad calificable de Moodle, como pueden ser: cuestionarios, tareas, lecciones, talleres etc.
Vamos a ver cómo se configura el calificador:
Desde la versión 3.6 (Diciembre 2018) Moodle incorpora la función IF al cálculo de las calificaciones y desde la versión 3.7 (Mayo 2019) se pueden utilizar, junto con la Función IF, los operadores OR y AND.
Lo primero es conocer cuáles son los identificadores de nuestros elementos de calificación, los cuales debemos utilizar para generar el cálculo que necesitamos. Los nuestros son:
El cálculo debemos ponerlo en la categoría, en el apartado correspondiente (). La expresión que debemos escribir en el apartado del cálculo de la categoría es:
=IF(OR(average([[exercise1]];[[exercise2]];[[exercise3]])<5; [[finalexam]]<5); 0; AVERAGE([[exercise1]];[[exercise2] ]];[[exercise3]];[[finalexam]]))
La explicación de la expresión matemática del cálculo es el siguiente:
- La función IF nos establece el condicional de la expresión,
- A continuación, escribimos el operador OR y dentro del paréntesis, aquellas expresiones que queremos que evalúe.
- En este caso, queremos que compruebe que la media aritmética de tres ejercicios es inferior a 5 ([[exercise1]];[[exercise2]];[[exercise3]]<5 ) o bien, si la nota del examen final es inferior a 5 ( [[finalexam]]<5 ).
- Si una u otra condición se cumple, la expresión te da como resultado lo que hay después del punto y coma, que en este ejemplo es un 0 (pero podría ser otro cálculo).
- Si ninguna de las dos condiciones se cumple, la expresión comprueba el otro ítem que está después del punto y coma, y que en nuestro ejemplo es realizar la media aritmética de los tres ejercicios y el examen final.
Ahora vamos a ver el resultado del cálculo con calificaciones numéricas:
En este ejemplo, el alumno Ficticio 03, a pesar de tener el examen final aprobado, tiene la media de los tres ejercicios obligatorios inferior a 5, y por tanto, se cumple una de las condiciones, con lo que el sistema devuelve un 0.
El estudiante Ficticio 01 tiene una media aritmética de los ejercicios obligatorios superior a 5 pero en el examen la calificación es inferior a 5, y también se devuelve un 0.
Por último, el estudiante Ficticio 02 tiene una media aritmética superior a 5 en la calificación de los ejercicios obligatorios y una nota del examen final también superior a 5. Dado que no se cumple ninguna de las condiciones iniciales del cálculo, se sigue con la sentencia, y se aplica la segunda parte del cálculo que corresponde a la media aritmética de los ejercicios obligatorios y el examen final (AVERAGE([[exercise1]];[[exercise2]];[[exercise3]];[[finalexam] ] ), obteniendo una calificación final de 6'13.