Estoy escribiendo software de educación matemática para niños para una clase.¿Debo usar un analizador de expresiones en mi juego de matemáticas?
Voy a tratar de presentar problemas a los estudiantes de diferentes niveles de habilidad con problemas matemáticos generados aleatoriamente de diferentes tipos en formas divertidas.
Una de las frustraciones del uso de software matemático basado en computadora es su rigidez. Si alguien ha tomado una clase de matemática en línea, sabrá todo acerca de la frustración de tomar una prueba en línea y que se rechace su respuesta correcta porque su problema no está exactamente formateado en su forma o por algún problema de espaciado extraño.
Así que, originalmente pensé, "Lo sé! Voy a usar un analizador de expresiones en el cuadro de respuestas para poder evaluar todo lo que ingresen e incluso si no está en la misma forma voy a ser capaz de verificar si es la misma respuesta ". Así que enciendo mi IDE y empiezo a implementar el Shunting Yard Algorithm.
Esto resolvería el problema de no tomar fracciones en la forma más pequeña y otros problemas.
Sin embargo, entonces me di cuenta de que un estudiante difícil simplemente sería capaz de introducir la mayoría de los problemas en el cuadro de respuesta y mi analizador de expresiones diligentemente analizaría y evaluaría la respuesta correcta.
Entonces, ¿no debería estar usando un analizador de expresiones en esta instancia? ¿Realmente tengo que generar una forma única de la respuesta y hacer una comparación de cadenas?
¡Qué gran pregunta! Háganos saber lo que termina haciendo - Tengo mucha curiosidad. –
¿Puedes dar un ejemplo de una pregunta que también sería una respuesta? – Greg
@Greg: Él está hablando de algo así como: "¿Cuál es el valor de 500/2?" La respuesta "correcta" es 250, pero un estudiante emprendedor puede simplemente ingresar "500/2" en un copiar y pegar, y el evaluador de expresiones lo aceptará. –