作业来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166
github地址:https://github.com/201606120051/zqq/tree/master/rg
一:作业要求:
像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。
具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:
23 - 3 * 4 = 11
扩展要求:
1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。
2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。
初步拟定要实现的功能后,估计一下自己需要花多长时间。编程过程中记录自己实际用了多长时间。
二:个人软件过程耗时估计与统计表
1.PSP模版表格如下
PSP2.1 | Personal Software Process Stages | Time Senior Student(h) | Time(h) |
Planning | 计划 | 2 | 2 |
· Estimate | 估计这个任务需要多少时间 | 22 | 25 |
Development | 开发 | ||
· Analysis | 需求分析 (包括学习新技术) | 1 | 1 |
· Design Spec | 生成设计文档 | ||
· Design Review | 设计复审 | ||
· Coding Standard | 代码规范 | 0.5 | 0.8 |
· Design | 具体设计 | 1 | 2 |
· Coding | 具体编码 | 6 | 12 |
· Code Review | 代码复审 | 1 | 2.5 |
· Test | 测试(自我测试,修改代码,提交修改) | 2 | 1.5 |
Reporting | 报告 | ||
· | 测试报告 | ||
· | 计算工作量 | 2 | 1 |
· | 并提出过程改进计划 | 1 | 2 |
2.详细设计:
功能介绍:
实现了整数和正分数的计算、
由用户自己选择整数和真分数、
由用户自己选择题目数量,取值范围、
由用户自己选择是否显示答案
缺点:没有成绩统计,约分是分子和分母相同的情况下显示的是a/a而不是1。
详细设计:
语言:Java 开发环境:idea
通过Math.random()实现随机产生整数或者真分数;
通过多重判断实现四个不同符号的计算。
三:主要代码和运行结果
1.主要代码
约分:
整数计算:
真分数计算:
2.运行结果:
四:总结
在这次实验中,一开始毫无头绪,不知道要从何下手,后来在查找百度和资料后有了头绪。在实验中比较难的是约分和真分数的判断,一开始不知道怎么做判断,后来反复琢磨,反复试验之后终于有了进展,但是约分还是不太理想,分子和分母相同的情况下不能化为1。还有一个缺陷就是不能做答,所以不能计分,没有做判断对错的部分,而是直接给出答案,这是一个不太理想的地方,后续有待改进。