7 math evaluation expression-trees
我正在为一堂课写一些儿童的数学教育软件.
我将尝试向不同技能水平的学生提出问题,并以有趣的方式随机生成不同类型的数学问题.
使用基于计算机的数学软件的一个挫败感是它的刚性.如果有人参加过在线数学课程,你就会知道所有关于参加在线测验并将正确答案抛出的挫折感,因为你的问题没有完全格式化他们的形式或一些奇怪的间距问题.
所以,我原本以为,"我知道!我会在答案框上使用表达式解析器,这样我就可以评估他们输入的内容,即使它不是以相同的形式我也可以检查如果它是相同的答案." 所以我启动了我的IDE并开始实现Shunting Yard算法.
这将解决它不以最小形式和其他问题获取分数的问题.
然而,它让我觉得一个棘手的学生只能将大部分问题输入到答案框中,我的表达式解析器将尽职地解析并评估它到正确的答案!
那么,我应该在这个实例中不使用表达式解析器吗?我是否真的需要生成单一形式的答案并进行字符串比较?
一种可能的解决方案是注意表达式计算器用于评估问题的原始表达式的步数,并将其与最佳答案进行比较.如果差异太大,那么问题就不会减少,你可以建议学生继续学习.
不过,如果学生拿出比你自己的"最佳"定义更好的答案,不要感到惊讶!我是几个班级的助教/评分员,最聪明的学生经常在他们的问题集上找到优于教授提供的答案.
| 归档时间: |
|
| 查看次数: |
347 次 |
| 最近记录: |