A aquesta pàgina veurem el gran ventall de possibilitats que ofereix la comanda aleatori al crear preguntes amb Wiris Quizzes mitjançant uns quants exemples. Per més detalls sobre com crear les preguntes, fes un cop d'ull a la guia bàsica de Wiris Quizzes

Suma de dues fraccions aleatòries

Crearem una pregunta que demani als estudiants que calculin la suma de dues fraccions, essent aquestes totalment aleatòries. Per això, hem de començar escrivint l'algorisme de la pregunta.

Per veure com crear la pregunta amb més detalls, fes un cop d'ull aquí.

La comanda aleatori ens permet obtenir un nombre aleatori dins d'un interval donat. Necessitem quatre nombres, dos numeradors i dos denominadors; als que anomenarem num1, num2, den1, den2 (el nom de les variables és important). Escrivim el codi.

Ara tenim quatre nombres aleatoris entre 1 i 9 (ambdós inclosos). També necessitem calcular la suma de les fraccions definides i guardar el resultat en una variable.

Un cop definit l'algorisme, escrivim la solució a la pestanya Resposta correcta. Ara, aquesta solució no és un nombre, és una variable a la que hem anomenat sol. Per escriure una variable fora de CalcMe, hem de precedir el seu nom del signe #. Per tant, escriurem #sol a la pestanya de la resposta correcta.

Per acabar, un cop comprovat el funcionament de la pregunta a la pestanya Vista prèvia, redactem l'enunciat del problema. Recordem que hem guardat els numeradors i denominadors en variables els noms de les quals són num1, num2, den1, den2. De la mateixa manera que a la pestanya de Resposta correcta, hem de precedir el nom de les variables del signe #. Podem escriure les fraccions amb MathType.

Suma de dues fraccions aleatòries irreductibles

Notem que amb l'algorisme proposat a la secció anterior, podem generar enunciats que poden no ser desitjats com

en el qual ambdues fraccions tenen el mateix denominador. Podem evitar-ho amb un senzill canvi en l'algorisme, simplement hem d'excloure el valor pres pel primer denominador del conjunt de possibles valors que pot prendre el segon. El codi quedarà tal i com es mostra a continuació.

Per altra banda, l'algorisme inicial també pot generar enunciats encara més desagradables, tal i com podem veure en el següent exemple.

En aquest cas, apareixen fraccions a l'enunciat sense simplificar i que fins i tot es poden expressar de forma entera. Per evitar aquesta situació, exclourem del conjunt de possibles denominadors aquells valors el màxim comú divisor amb el seu numerador dels quals sigui diferent d'u tal i com proposem en el següent algorisme.

Arrodoniment i truncament de nombres aleatoris

Crearem una pregunta que demani als estudiants que arrodoneixin a les dècimes i trunquin a les centèssimes uns quants nombres aleatoris. Per això, utilitzarem el tipus de pregunta incrustada (Cloze) i començarem escrivint l'algorisme de la pregunta.

Per més informació sobre preguntes incrustades (Cloze), fes un cop d'ull aquí.

La comanda aleatori ens permet obtenir un nombre aleatori dins d'un interval donat, de fet, podem afegir una opció par tal que només consideri els nombres de dit interval amb un pas donat tal i com veurem a continuació.

Necessitem cinc nombres amb tres xifres decimals cadascun. Atès que pot resultar una mica pesat escriure tantes vegades dita comanda, definirem una funció global r():=aleatori([0..10..0.001]) que ens permetrà evitar-ho. Escrivim el codi.

Notem la importància d'utilitzar el signe := al definir la funció r(). En cas de no fer-ho, r() sempre prendria el mateix valor i els cinc nombres serien iguals. Per més informació sobre definició de funcions a CalcMe, fes un cop d'ull aquí

Ara tenim cinc nombres reals aleatoris entre zero i deu amb tres xifres decimals. També hem de calcular el seu arrodoniment a les dècimes i el seu truncament a les centèssimes.

Notem que hem multiplicat els nombres arrodonits i truncats per 1.0, així les respostes apareixen en forma decimal i no en forma racional.

Tal i com hem programat el nostre algorisme, ens podem trobar amb situaciones no del tot desitjables com la següent, en la qual obtenim nombres ja arrodonits a les dècimes o ja truncats a la centèssimes.

Per evitar situacions com aquesta, podem excloure aquells nombres acabats en 0 o en 00 de la següent forma.

I d'aquest manera obtindrem únicament nombres com els desitjats tal i com podem veure a continuació.

Resolució d'inequacions

Crearem una pregunta que demani als estudiants que resolguin inequacions de primer grau amb coeficients aleatoris i desigualtats aleatòries. Per això, escollirem els coeficients a comma b i c de l'expressió a times x plus b equals c i crearem un conjunt amb les quatre inequacions corresponents tal i com veiem a continuació.

Un cop definit dit conjunt, hem d'escriure l'algorisme de la pregunta juntament amb la seva solució.

Recordem que per escriure una variable fora de CalcMe, hem de precedir el nom de la variable amb el signe #. Per tant, en aquest cas escriuríem #sol a la pestanya de resposta correcta i #f a l'enunciat.

Derivada d'una funció aleatòria en un punt aleatori

Crearem una pregunta que demani als estudiants que trobin el valor de la derivada d'una funció aleatòria en un punt aleatori. Abans de començar, hem de decidir dins de quin conjunt de funcions es pot trobar la nostra funció, en el nostre cas serà el següent.

Un cop definit dit conjunt, hem d'escriure l'algorisme de la pregunta juntament amb la seva solució.

Recordem que per escriure una variable fora de CalcMe, hem de precedir el nom de la variable amb el signe #. Per tant, en aquest cas escriuríem #sol a la pestanya de resposta correcta i #f(x) i #x0 a l'enunciat.

Càlcul de la inversa d'una matriu aleatòria

Crearem una pregunta que demani als estudiants que calculin la inversa d'una matriu 3 x 3 entera, essent els seus coeficients totalment aleatoris. Per això, hem de començar escrivint l'algorisme de la pregunta.

Alternativament, podem crear la matriu de forma més estètica i compacta amb el següent codi.

Notem que, per tal que la matriu sigui invertible, necessitem que el seu determinant sigui diferent de zero, el qual és possible en les nostres dues propostes inicials. Per evitar dita situació, hem d'utilizar recursos de programació disponibles a CalcMe tal i com es mostra a continuació.

Per veure més a fons les diferents opcions de programació que ofereix CalcMe, fes un cop d'ull aquí.

Així mateix, l'algorisme quedarà de la següent manera.

Recordem que per escriure una variable fora de CalcMe, hem de precedir el nom de la variable amb el signe #. Per tant, en aquest cas escriuríem #sol a la pestanya de resposta correcta i #A a l'enunciat.

Resolució d'un sistema lineal aleatori

Crearem una pregunta que demani als estudiants que trobin la solució del sistema A times x equals b, essent A una matriu 3 x 3 a coeficients aleatoris i b un vector a coeficients aleatoris. Per començar hem d'escriure l'algorisme de la pregunta de forma similar a l'exemple anterior.

I la solució a la pregunta vindrà donada de la següent manera.

Notem que el vector resposta x pot tenir forma no entera. A priori, això no hauria de suposar un problema pels estudiants, però ens pot interessar que la resposta sigui entera per tal que els càlculs no siguin tan farragosos. Per solventar aquest problema, definim la nostra matriu A de determinant 1 de la següent manera.

D'aquesta manera, malgrat que solucionem el problema, estem generant matrius aleatòries fins trobar-ne una amb determinant 1, el qual és molt ineficient. Per optimitzar el nostre algorisme, hem de canviar la nostra perspectiva de la pregunta. En lloc de definir aleatòriament la matriu A i el vector b, definirem primer la nostra solució i trobarem una matriu A i un vector b enters que satisfacin A times x equals b.

Aquesta nova perspectiva de com definim els paràmetres aleatoris de la pregunta ens permetrà controlar molt més com serà la resposta que ens hagi de donar l'estudiant.

Recordem que per escriure una variable fora de CalcMe, hem de precedir el nom de la variable amb el signe #. Per tant, en aquest cas escriuríem #sol a la pestanya de resposta correcta i #A, #b a l'enunciat.

Arrels d'un polinomi aleatori

Crearem una pregunta que demani als estudiants que trobin les arrels d'un polinomi de grau i coeficients aleatoris. Per això, hem de començar com sempre escrivint l'algorisme de la pregunta.

Notem que l'algorisme pot generar polinomis que no siguin del nostre agrad, ja sigui perquè careixin d'arrels reals o perquè sigui complicat trobar-les a ma tal i com veiem en el següent exemple.

Per veure com treballar amb respostes en forma de llista o conjunt, fes un cop d'ull aquí.

Per evitar-ho, podem definir el polinomi com a producte de les seves arrels tal i com fem a continuació.

Així ens assegurem que totes les arrels del polinomi siguin enteres i els estudiants puguin trobar-les a ma tal i com podem observar a continuació.

Recordem que per escriure una variable fora de CalcMe, hem de precedir el nom de la variable amb el signe #. Per tant, en aquest cas escriuríem #sol a la pestanya de resposta correcta i #p a l'enunciat.