Sto scrivendo un software di educazione matematica per bambini per una lezione.Devo usare un parser di espressioni nel mio gioco Math?
Ho intenzione di provare e presentare problemi a studenti di diverso livello di abilità con problemi matematici generati casualmente di diversi tipi in modi divertenti.
Una delle frustrazioni dell'utilizzo di software matematico basato su computer è la sua rigidità. Se qualcuno ha frequentato un corso di matematica online, saprai tutto della frustrazione di fare un quiz online e di avere la tua risposta corretta buttata fuori perché il tuo problema non è esattamente formattato nella loro forma o qualche strano problema di spaziatura.
Quindi, originariamente pensavo, "Lo so! Userò un parser di espressioni nella casella di risposta, così sarò in grado di valutare qualsiasi cosa entrino e anche se non è nella stessa forma essere in grado di verificare se è la stessa risposta. " Quindi accendo il mio IDE e inizio a implementare lo Shunting Yard Algorithm.
Questo risolverebbe il problema di non prendere frazioni nella forma più piccola e altri problemi.
Tuttavia, mi ha colpito il fatto che uno studente ingannevole sarebbe semplicemente riuscito a inserire la maggior parte dei problemi nella casella di risposta e il mio parser di espressioni avrebbe dovuto analizzare e valutare correttamente la risposta corretta!
Quindi, non dovrei utilizzare un parser di espressioni in questa istanza? Devo davvero generare una singola forma della risposta e fare un confronto tra stringhe?
Che bella domanda! Fateci sapere cosa state facendo - Sono molto curioso. –
Puoi fare un esempio di una domanda che sarebbe anche una risposta? – Greg
@ Greg: Sta parlando di qualcosa del tipo: "Qual è il valore di 500/2?" La risposta "giusta" è 250, ma uno studente intraprendente può semplicemente inserire "500/2" in un copia-incolla, e il valutatore di espressioni lo accetterà. –