Funcions de qualificació

A l'editar una pregunta, Wiris Quizzes ofereix una àmplia gamma d'opcions per comparar la resposta de l'estudiant amb la resposta correcta. Entre d'altres opcions, podem trobar decimals, unitats, simplificació, etc. (tot el que figura a la pestanya Validació). De totes maneres, a vegades hem de crear una regla pròpia per determinar si una resposta és correcta. Això pot fer-se mitjançant funcions de qualificació. Dit breumente, una funció de qualificació és una fórmula definida pel creador de la pregunta que agafa la resposta de l'estudiant i decideix si és correcta o no. Això permet una especificitat encara més gran que amb les opcions disponibles a la pestanya Validació.

Una funció de qualificació és una funció d'una o més variables (consulta funció de qualificació i resposta composta) definides a la pestanya Variables que retorna un nombre entre 0 i 1. El nombre retornat per la funció per cada entrada correspondrà a la puntuació sobre 1,00 que es rebrà per aquella resposta. Al primer exemple, els valors retornats eran cert o fals, el qual equival a 0 (zero punts) o 1 (màxima puntuació). Per veure un exemple on s'utilitzen més valors entre 0 i 1, consulta puntuació personalitzada.

Cada cop que desitjem utilitzar una funció de qualificació, hem de seleccionar-la com a opció a la pestanya Validació i escriure el nom de la funció a l'espai en blanc. Desplaça't cap a baix per veure més exemples.

Suposem que volem fer la pregunta Indica un nombre primer. Per això necessitem utilitzar una funció de qualificació.

Per començar, crearem la funció de qualificació. Això es fa a la pestanya Variables. En aquest exemple, la funció de qualificació s'anomenarà f c.

Wiris CAS CalcMe

La funció que hem definit, f c left parenthesis x right parenthesis, retorna cert si x és primer i fals en cas contrari. Per utilitzar això com a mètode de validació, selecciona "funció de qualificació" a la pestanya Validació. A continuació escriu el nom de la funció de qualificació a l'espai en blanc, en aquest cas, "fc".

Pel que fa a la pestanya Resposta correcta, es pot utilitzar qualsevol valor. Atès que hem seleccionat "funció de qualificació" com a mètode de validació, la sortida de la funció de qualificació és l'únic que determina les respostes correctes. En aquest cas, podríem introduir un nombre primer, per exemple.

Mostrarem un exemple senzill d'una funció de qualificació amb vàries sortides. La idea serà otorgar més punts per cada nivell de correcció que consegueix la resposta.

Volem fer la següent pregunta d'aritmètica bàsica:

otorgant puntuació parcial per cada propietat correcta de la resposta. Suposem que els estudiants són nens petits i considerem que la part més difícil és indicar correctament un nombre el residu del qual sigui 2 al dividir-se per 7. Donarem 0,4 punts per això, i 0,3 punts per cada una de les altres propietats. A més, volem donar només la meitat de la puntuació per les altres propietats si la resposta de la primera és incorrecta (aquest es el propòsit de disminuir_nota).

Wiris CAS CalcMe

Observa que per fer una funció de qualificació més llarga amb múltiples condicionals i càlculs, hem d'encapsular-la amb les clàusules inici..fi i utilitzar retorna per definir la sortida de la funció.

La pregunta ja està acabada. Assegura't de marcar l'opció "funció de qualificació" a la pestanya Validació, tal com s'ha descrit anteriorment, i proporciona un valor correcte a la pestanya Resposta correcta. Veiem que aquestes dues respostes són correctes:

Hem utilitzat una pregunta bastant simple com a exemple, però ja podem veure que és possible crear funcions de qualificació amb un disseny molt personalitzat i complex.

DEMO INTERACTIVA

També podem crear funcions de qualificació per preguntes de resposta composta. La forma de fer-ho és utilitzar un argument nou per cada resposta. Per tant, si hi ha tres espais en blanc per omplir, la funció de qualificació ha de ser alguna cosa com gf(x,i,z). El primer argument correspon al primer espai en blanc; el segon argument, al segon espai en blanc, i així successivament. Veiem un exemple senzill.

La pregunta serà un exercici estàndard de càlcul bàsic:

Per això, es podria utilitzar la següent funció de qualificació:

Wiris CAS CalcMe

L'avantatge en aquest cas, contràriament a la resposta composta ordinària, és que deixem de preocupar-nos per l'ordre en què l'estudiant respon. També permet pràcticament infinites respostes (aquí qualsevol resposta de la forma 8 k plus 1 amb k com a nombre enter era vàlida). No obstant, és obvi que es pot programar un comportament molt més complex.

DEMO INTERACTIVA

Imagina que estem treballant amb una resposta composta, com en resposta composta. Pot succeir que l'estudiant deixi una casella buida i només respongui a una pregunta. Per qualificar la resposta enviada, hem de modificar l'algorisme i comprovar que la casella no estigui buida amb la comanda not_null?. Per exemple, seguint el mateix exemple d'abans

Recorda que a la pestanya Resposta correcta és necessari distribuir la qualificació de la manera desitjada.

És important llegir aquesta secció si volem crear preguntes amb vectors. La clau és que els punts i vectors es passen a la funció de qualificació com matrius, per tant hem de desindexar-los al cos de la funció per poder fer operacions normals amb ells. Quedarà clar amb els següents exemples bàsics.

El que això significa essencialment és que si passem [...] a una funció de qualificació, es prendrà com [ [...] ] (una llista amb el vector original com único element). Com a resultat, no podem fer operacions vectorials amb ella. Per exemple, el vector

Wiris CAS CalcMe

es convertirà en

Wiris CAS CalcMe

Com s'accedeix al vector original? És el primer (i únic) element d'una llista, per tant, de la mateixa manera que en qualsevol llista, podem accedir al primer element amb el subíndex "1":

Wiris CAS CalcMe

Així, si "v" és el vector original especificat per l'estudiant i que es passa a la funció de qualificació, per considerar-lo com un vector simplement hem d'escriure "v1" en tots els llocs on vulguem utilitzar "v". Veiem-ho amb uns exemples.

Exemple 1

La matriu té rang 2, per tant hi haurà infinites solucions. Això significa que hem d'utilitzar una funció de qualificació si volem permetre qualsevol solució possible. La funció en si és bastant simple, però observa que utilitzem el subíndex com s'ha descrit anteriorment:

Wiris CAS CalcMe

També hem de permetre que els estudiants responguin amb vectors fila o columna (fins ara només estàvem treballant amb vectors fila). Il·lustrarem el que s'ha de fer amb un exemple. Utilitzant la mateixa pregunta d'abans, suposem que l'estudiant respon així:

Aquest és un vector columna, per tant es tracta d'una altra manera. L'únic que hem de fer és trasposar-lo per tornar al cas anterior. És probable que vulguem admetre ambdós tipus de resposta, per tant, al principi de la funció de qualificació original, podríem afegir el següent:

Wiris CAS CalcMe

Hem afegit una clàusula if que simplement detecta si l'entrada és un vector columna (comprovant si el nombre de columnes és 1) i, si és així, el trasposa. Si no, no es fa res a "v". El resultat és que "v" tindrà la forma [ [...] ] en tots els casos; després, podem utilitzar subíndexs tal i com s'ha descrit anteriorment.

DEMO INTERACTIVA

Exemple 2

Imagina que volem fer la següent pregunta als nostres estudiants:

En aquest exemple, necessitem clarament una funció de qualificació ja que hi ha infinites respostes correctes.

La primera resposta és un punt però s'entén com una matriu d'una fila i dues columnes: open parentheses table row cell negative 3 end cell 7 end table close parentheses. Aleshores, si volem treballar amb el punt, hem d'obtenir la primera fila. A més, hem de dir-li a CalcMe que és un punt (sinó pensarà que és un vector). Així, la primera part de la funció de qualificació seria

Wiris CAS CalcMe

La segona resposta és un vector, però com abans s'entén com una matriu. De forma similar hem d'accedir a la primera fila. L'algorisme complet per aquesta pregunta seria

Wiris CAS CalcMe

Suposem ara que, donada una fracció irreductible, volem que l'estudiant respongui amb una fracció equivalent qualsevol. Per això també necessitaremos una funció de qualificació.

En aquest cas, atès que volem que la resposta de l'estudiant sigui interpretada tal i com està escrita i sense simplificar, hem de seleccionar l'opció Mantén els arguments sense evaluar. Per exemple, seleccionant dita opció, el sistema d'evaluació considerarà la fracció 6 over 21 sense simplificar mentres que, en cas contrari, considerarà la fracció 2 over 7.

La funció de qualificació corresponent es dirà fc i atorgarà puntuació si la fracció donada per l'estudiant és matemàticament igual a la fracció inicial f i els seus denominadors són diferents.

Wiris CAS CalcMe
Fixa't en que s'ha d'accedir al denominador utilizant x subscript 2 en lloc de mitjançant la funció denominador(x). És important tenir al cap aquesta notació.

D'aquesta manera, podrem introduir qualsevol fracció equivalent i serà acceptada com a resposta correcta.