Verificar una expresión algebraica

miguel grafulla shared this question 2 months ago
Answered

Hola a todos:


No he encontrado solución a este problema en el foro, así que lo lanzo aquí.

Quiero hacer un quizz de igualdades notables, y que el propio programa indique si está bien o mal.

Por ejemplo:

Desarrolla (1+x)^2, y dejo una casilla de entrada para escribir la solución.

El problema es que si escribimos en la casilla de entrada (1+x)^2 (es decir, el propio enunicado del ejercicio), lo toma como correcto. He probado con codigotexto y parecidos, pero siempre se puede hacer trampas como escribir (1+x)^2+1-1 en la casilla de entrada y lo sigue tomando como correcto. También he usado la instrucción factoriza o desarrolla, pero siempre se puede hacer trampas.

¿A alguien se le ocurre cómo obligar a escribir al alumno el resultado que queremos y no hacer trampas?

Gracias y un saludo

Comments (11)

photo
1

My idea: If the "productos notables" are not randomly generated, you could create a list of the binomials to be expanded, and a list of desired answers, then use If statements to trigger a text displying if the entered answer is right or wrong.

photo
1

Gracias por la respuesta.

Los productos notables son generados aleatoriamente. Pero tu idea es buena

photo
1

como te dice Simona puedes crear una base de datos de respuestas y preguntas y hacer la comparacion usando textos

Files: foro.ggb
photo
1

Te agradezco el archivo. Pero al comparar textos hay varias respuestas posibles:

Si pones (a+b)^2 se pueden responder al menos 6 soluciones distintas: a^2+b^2+2ab y todas sus permutaciones. Y eso sin poner 2ba, lo que duplicaría a 12 posibilidades. No puedo ir comparando todas

Me temo que la única solución es comparar yo a ojo a ver si se han hecho trampas.


Gracias y un saludo

photo
photo
1

evidentemente hay muchas soluciones distintas buenas. pero solo quieres que sean posibles unas pocas; las que tengan una forma de desarrollo habitual y quieres que el ordenador no las procese haciendo calculos o simplificaciones.

me temo que el hecho de querer excluir unas formas y admitir otras solo lleva a la solucion de hacer un listado de dichas formas admitidas en las columnas desde la B1 hasta la que sea necesaria y luego usar la instruccion con la comparativa

si(answer∈B1:Z1,"OK","no OK")

de todas formas si eso te dejara en la duda de si has puesto todas las que permitirías puedes hacer que dé por buenas las que tengas previstas y por revisables o dudosas las que coincidan en valor pero no en caligrafía e ir completando las que se puedan considerar buenas según vayan apareciendo.


¿A alguien se le ocurre cómo obligar a escribir al alumno el resultado que queremos y no hacer trampas? 

el ordenador no puede distinguir si quiero que (x-3)^2 se responda con x^2-6x+9 o con x x-2 3 x+9 así que "el resultado que queremos" puede ser tan distinto como profesores habemos y no queda más remedio que introducirlos de uno en uno o hacer que el alumno tenga pistas de lo queremos que escriba: por ejemplo ponerle tres entradas para que pongan los coeficientes de cada termino y que las x estén escritas o algo así


pero sí estoy seguro de que sabes cuáles te parecen normales y cuáles debería modificarse, y esas no son muchas; como muchos esperas las dos respuestas que yo añadí y las mismas pero con ^2 en lugar del 2 pequeñito. eso son cuatro respuestas deseadas y las demás son corregibles; nadie espera que el alumno conteste (-x)^2-2 12/4 x+|3|^2 y también es correcta

photo
1

Ok, tienes razón. Parecía todo más fácil cuando empecé.

photo
photo
1

@miguel

Please have a look at this file that I've made a few yers ago, that can be another idea for your work.

Basically I've created it thinking about the usual mistake that students make when recognizing a square of a binomial or the difference of squares. Here students don't have to input anything, just flag the checkbox with the right answer.

I've randomly generated squares of binomials, and differences of squares. The possible answers contain what we call "distractors", that is answers very similar to the correct one, but containing one of the typical errors that students make.

I know that this is not what you are trying to achieve, but maybe it can help to give you an idea for your activity.

(It's in Italian, but Italian and spanish are sort of cousins...)

photo
1

Probably the creation of the file is not efficient as it could be now :smile: I've made it some time ago, and now ggb has changed as well as I'm changed :wink:

photo
1

Thanks, Simona. That is a good idea.

photo
photo
1

One more idea:

First, IndexOf() is used to examine whether the response text contains certain forbidden character-strings.

This can be done with an iteration (with example list of forbidden strings):


OK=Sum(Zip(If(IndexOf(t,answer)>0,1,0), t, {"(","^4","⁴"}))==0

If OK then the answer is converted into an expression and compared with the question expression.

The opposite is also possible: e.g. the answer must contain the following strings {"22", "121"} and must be equal to the question expression. But with this method, the question must be known.

photo
1

Maybe with a sample it's more clear what I mean.

© 2018 International GeoGebra Institute