标签:函数 文件 表达式 需求 作用 成绩 分数 后序 作业1
四则运算题目生成程序(基于控制台)
一、需求分析:
1. 使用 -n 参数控制生成题目的个数,使用 -r 参数控制题目中数值(自然数、真分数和真分数分母)的范围
2.每道题目中的运算符个数不超过3个
3. 题目和运算结果中如果出现假分数应用真分数表示
4.将生成的题目存入Exercise.txt,题目答案存入Answer.txt,用户做题结果存入Grade.txt
5.程序支持1万道题目的生成
6.对生成的题目进行查重
二、功能设计
根据用户要求输入的参数来进行生成相对应题目,并进行题目的解答。
三、设计实现
1.生成四则运算表达式的二叉树(Formulatree.java)
按题目要求构建二叉树,在叶子节点中放入运算数,非叶子节点中放入运算符,随后生成二叉树。
利用递归方法生成二叉树的结构,其中的运算符个数都是利用随机数来随机确定的,numberoperator用来表示二叉树总运算符个数,lnumoperator用来表示左子树的运算符个数,rnumoperator用来表示右子树的运算符个数。
2.从二叉树中读取所需表达式(Show.java)
后序遍历二叉树,生成相对应四则运算表达式
3.计算此表达式的值(Calculate.java)
后序遍历二叉树,计算表达式的值
4.初始化文本文件(InitFile.java)
5.将题目答案,结果和成绩保存到文本文件(Inputfile.java)
6.节点类(Node.java)
7.生成随机数(Number.java)
8.随机生成相对应运算符(Operator.java)
9.对分数进行化简(Simply.java)
10.主函数(Test.java)
四、测试运行
六、小结
此程序按照先生成存储四则运算的二叉树,再遍历二叉树生成四则运算表达式和值,由于对二叉树的操作用的不熟练,导致查重过程存在缺陷, 且输出结果可能具有一些问题,待慢慢改进。
代码链接:https://gitee.com/laisihong/laisihong.git
标签:函数 文件 表达式 需求 作用 成绩 分数 后序 作业1
原文地址:https://www.cnblogs.com/laisihong/p/8886574.html