个人作业1——四则运算题目生成程序(Windows桌面应用程序)

2021-04-15 12:26

阅读:494

标签:tee   git   参数   了解   https   错误   过程   运算   子节点   

借鉴文章:

 

 

一.需求分析

1.用户画像

用户群体:小学生

用户特征:年龄小、处于数学初级学习阶段

用户需求:获取四则运算题目、答题、查看统计结果

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桌面应用程序)

标签:tee   git   参数   了解   https   错误   过程   运算   子节点   

原文地址:https://www.cnblogs.com/Linzhiyuan666/p/8877930.html


评论


亲,登录后才可以留言!