用户群体:小学生
用户特征:春秋小、处于数学低级学习阶段
用户需求:获取四则运算标题问题、答题、检察统计功效
2.成果需求
1. 使用 -n 参数控制生成标题问题的个数,使用 -r 参数控制标题问题中数值(自然数、真分数和真分数分母)的范畴
2.每道标题问题中的运算符个数不赶过3个
3. 标题问题和运算功效中如果呈现假分数应用真分数暗示
4.将生成的标题问题存入Exercise.txt,标题问题答案存入Answer.txt,用户做题功效存入Grade.txt
5.措施撑持1万道标题问题的生成
6.对生成的标题问题进行查重
二.成果设计
根基成果:生成表达式、表达式查重、生成标准答案、提交答案、统计功效
拓展成果:输入参数合法性检测及错误提示、buttonclick快捷打开txt文件
高级成果:软件图形交互界面
三.设计实现
(部分代码截图)
1.生成表达式二叉树:
构建二叉树,将运算数放入叶子节点,运算符放入非叶子节点,递归生成表达式tree.getroot().s
2.生成标准答案:后序遍历二叉树生成四则运算表达式,并计算出答案tree.getroot().value
3.表达式查重:树布局调解为左子树永远比右子树大,再依次对照树的高度、运算符数量、树的布局
4.将表达式、答案、统计功效分袂存入Exercises.txt、Answers.txt、Grade.txt
5.假分数转换成真分数:
四.测试功效
五.源代码
项目地点:https://gitee.com/Linzhiyuan666/math.git
六.小结
本尝试加深了我对数据布局、编译道理常识、面向东西思想的理解与掌握,在尝试过程中也遇到了诸多问题,尤其是如何做到准确且高效率地实现对10000道标题问题的查重,,通过调解树布局、优化查重算法最终解决了该问题。由于对C#对照了解故给与.Net Framwork框架趁便实现了软件图形交互界面,使其使用起来越发便利、体验感更好,在设计图形交互界面过程中做了诸多体验感的优化,如参数合法性检测与错误提示、ButtonClick快捷打开txt文件、表达式与答案内容预览的ListView、界面排版等,这些都加深了我对产品设计的理解与掌握。
小我私家功课1——四则运算标题问题生成措施(Windows桌面应用措施)
标签:
原文地点:https://www.cnblogs.com/Linzhiyuan666/p/8877930.html