可爱的坏人

 

20172327 结对编程项目-四则运算 第一周 阶段总结

20172327 结对编程项目-四则运算 第一周 阶段总结

结对编程项目-四则运算 第一周 输出阶段总结博客

结对对象:


学号:20172317
姓名:蒋子行
伙伴第一周博客地址:http://www.cnblogs.com/Chiang-B/p/8977865.html

学号:20172320
姓名:李闻洲
伙伴第一周博客地址:http://www.cnblogs.com/garolwz/p/8977532.html

担任角色:
驾驶员:蒋子行
副驾驶:李闻洲 马瑞蕃

需求分析:

1.自动生成题目


可独立使用(能实现自己编写测试类单独生成题目的功能)

可生成不同等级题目,类似于:
1级题目:2 + 5 =
10 - 5 =
之类的两个数,一个运算符的题目

2.题目运算(判题)


- 可独立使用

- 实现中缀表达式转为后缀表达式并计算

- 判断用户答题正误,并输出正确结果

3.支持真分数


- 可独立使用

- 实现分数算式的计算

4.支持带括号


3.题目去重(扩展需求,加分项)

可独立使用

实现对自动生成表达式的去重

  • 分析:


生成题目,分级难度我们是通过调整符号和数字数来分类的.

1.难度一是两个整数之间的运算

2.难度二和难度三出现真分数的概率是由一个随机数决定的,并且这个分数的位置是固定的

3.难度三题目的代码几乎和难度二一样,除了输出括号

设计思路:

UML类图:

思路:


创建一个真分数生成类

创建三个难度类

创建一个中缀转后缀类

创建一个计算后缀表达式的类

创建一个整合类(判断选择那个级别,判断要计算多少道题,判断对的个数及正确率)

代码实现 (关键代码解释)

  • 真分数类:

  • 分析:对原来的RationalNumber 类进行了改变,如果用原来的Rationalnumber类,则整个程序的主体思路就必须跟随这个类来做了。

  • 难度1,2,3:


  • 分析:在所有难度的设置上都不会生成“0”这个数,这么设是为了防止出现除以0的情况.
    难度二与难度三出现真分数的概率是由一个随机数决定的,并且这个分数的位置是固定的
    难度三题目的代码几乎和难度二一样,除了输出括号,我们将括号的位置固定了,所以难度三必须有括号出现。

代码托管地址:

  • 源代码链接:还没上传
  • commit提交信息:

对结对的小伙伴做出评价:

我的结对小伙伴这几天一直沉迷在代码的世界中,不停地测试,在五一放假三天一直待在寝室及,努力的在做程序,直到今天任然还没有弄完,蒋子行的能力是真的强,这得益于他每天都有练习修改,所以实践才是王道。对于菜鸟我来说,如今还没能娴熟掌握语法,有些思路可以想出来,但是由于对语言的不熟悉,所以不能用Java来表达出来。我们小组有三个人,我相信我们会最终将其弄出来的,加油共同努力!

PSP时间统计:

| PSP2.1 | Personal Software Process Stages| 预估耗时(分钟)|实际耗时(分钟)|
| -------- | :----------------😐:----------------😐:---------------: |:-----😐
|Planning | 计划|60|60 |
| Estimate| 估计这个任务需要多少时间| 100 | 100|
|Development| 开发| 800| |
|Analysis| 需求分析 (包括学习新技术) |100 | |
|Coding Standard| 代码规范 (为目前的开发制定合适的规范)| 30| |
|Design UML |设计项目UML类图 |50 ||
|Coding| 具体编码 |30 | |
|Code Review| 代码复审| 50| |
|Test| 测试(自我测试,修改代码,提交修改)| 30| |
|Size Measurement| 计算工作量(实际时间 )|30| |
|Postmortem & Process Improvement Plan| 事后总结, 并提出过程改进计划 |30| |
| |合计| 1240| |

参考资料

结对编程练习
中缀转后缀
前缀、中缀、后缀表达式

posted on 2018-05-01 22:29  可爱的坏人  阅读(181)  评论(0编辑  收藏  举报

导航