首页 > 其他 > 详细

第二次作业

时间:2018-09-19 00:54:38      阅读:169      评论:0      收藏:0      [点我收藏+]

随机生成--小学计算题

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
? Estimate ? 估计这个任务需要多少时间 750 1000
Development 开发
? Analysis ? 需求分析 (包括学习新技术) 200 230
? Design Spec ? 生成设计文档 50 50
? Design Review ? 设计复审 60 60
? Coding Standard ? 代码规范 (为目前的开发制定合适的规范) 30 35
? Design ? 具体设计 300 330
? Coding ? 具体编码 66 70
? Code Review ? 代码复审 20 80
? Test ? 测试(自我测试,修改代码,提交修改) 20 35
Reporting 报告 30 50
? Test Repor ? 测试报告 5 20
? Size Measurement ? 计算工作量 10 20
? Postmortem & Process Improvement Plan ? 事后总结, 并提出过程改进计划 30 20
731 800

二、需求分析

我通过百度小学1-3年级数学题大全的方式了解到,小学三年级数学有如下的几个特点:

  • 运算符在2~4个
  • 可以加括号
  • 减法运算的结果不能有负数
  • 除法运算除数不能为0,不能有余数

经过分析,我认为,这个程序应当:

  • 使用的数字小于100的数
  • 减数须比被减数小
  • 运算结果均保证为正
  • 除数与被除数必须是倍数关系
  • 混合运算结果必须是整数
  • 括号必须是一对的

三、设计

1. 设计思路

  • 创建文件,用文件io流
  • 把一二年级的功能保留
  • 随机生成运算符(最少有两个不同的运算符)
  • 生成随机算式,括号的配对
  • 记录写入文本

    流程图:

    技术分享图片

2. 实现方案

具体实现的步骤:

  • 准备工作:先在Github上创建仓库,克隆到本地...,Git的使用,仓库的创建,文件的上传.....
  • 技术关键点:
  • 想直接将四则运算直接写作一个类,然后当grade=3的时候在一二年级的基础上直接调用这个类。
  • 调度场算法和逆波兰表达式。

四、编码

1. 调试日志

  • 余数设置不合理,当运算三年级的时候,也会有余数输出;通过加一个if语句判断,当为三年级时,除数与被除数必须模除为0

2. 关键代码

技术分享图片

3. 代码规范

请给出本次实验使用的代码规范:

  • 第一条,类型与中括号紧挨相连来定义数组
  • 第二条,杜绝完全不规范的缩写,避免忘文不知义
  • 第三条,不允许任何魔法值(即未经预先定义的常量)直接出现在代码中
  • 第四条,final可以声明类、成员变量、方法、以及本地变量
  • 第五条, 注释的双斜线与注释内容之间有且仅有一个空格。
  • 第六条,if/for/while/switch/do等保留字与括号之间都必须加空格。
  • 第七条,采用4个空格缩进,禁止使用tab字符。
  • 第八条,单行字符数限制不超过120个,超出需要换行。

五、测试

  • 输入:0 输出:请输入参数(1为起始)!
  • 输入:5 输出:题目已经生成,详情请见out.txt
  • 输入:1 1 输出:至多输入1个参数!
  • 输入:99......999 输出: 输入的第一个参数数值太大!
  • 输入:a 输出:请输入正整数!
  • 输入:10 2 输出:题目已经生成,详情请见out.txt

六、总结

技术分享图片

  • 上次看到题目期初懵懵懂懂,到最后挣扎可以写出来。跟队友合作也不是头一次,也算是老伙伴了,但是我们两在这次的合作中从头到尾都是头脑空白的状态,调度场算法和逆波兰表达式还不太懂,又有点急躁,一个想法不行,就换另一种想法,没有坚守到底,在这次结对中,我们发现了各自的不足,后期也会一起继续研究,弥补欠缺的。

第二次作业

原文:https://www.cnblogs.com/Shuangyi/p/9671039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!