小学生作业V2.0
211606320刘佳&211506332熊哲琛
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 300 | 180 |
• Estimate | • 估计这个任务需要多少时间 | 300 | 180 |
Development | 开发 | 120 | 90 |
• Analysis | • 需求分析 (包括学习新技术) | 120 | 70 |
• Design Spec | • 生成设计文档 | 100 | 30 |
• Design Review | • 设计复审 | 90 | 120 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 120 | 60 |
• Design | • 具体设计 | 30 | 60 |
• Coding | • 具体编码 | 30 | 120 |
• Code Review | • 代码复审 | 30 | 15 |
• Test | • 测试(自我测试,修改代码,提交修改) | 120 | 60 |
Reporting | 报告 | 120 | 60 |
• Test Repor | • 测试报告 | 100 | 60 |
• Size Measurement | • 计算工作量 | 120 | 60 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 120 | 60 |
合计 | 1640 |
二、需求分析
我通过网络搜索的方式了解到,小学一、二、三年级数学有如下的几个特点:
-小学一年级:
-小学二年级:
-小学三年级:
经过分析,我认为,这个程序应当:
-拥有难度切换功能
-有肉眼可见的随机性
-输出答案方便对照
-易于维护修补bug,针对不足之处日后改进
三、设计
- 设计思路
说明你如何设计这个程序
比如:
-这次程序要求相比上次程序变成了多位数四则运算,所以考虑乘除法优先级法则需要输出括号
-因此我们把程序分为了三大块,一块是出题的,一块是输出文件,最后一块是计算结果的。
-但是出题这一块代码块里还有要判断是否有符号,写入文件里有创建和写入数据。
-最后上面提到的考虑到乘除法优先级法则运算,计算运算块里运用了逆波兰表达式
-能进行不同年级题目不同难度级别题目输出到TXT文件
2. 实现方案
写出具体实现的步骤
比如:
-我们先讨论了基于上次程序需要修改的部分,列出需要增加的功能块,和需要修改变量的块
-着重研究了逆波兰表达式,参考了许多csdn大神博客
-开始整合代码,写出大致框架
-测试,输入各种极限数据来检验程序逻辑性功能
-Debug
-Done
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
-这次程序的难点主要体现在四元运算,并且乘除括号是随机的,并且要跟随严格的逻辑功能。
-除数不能为0,也不能为负数,在随机数上要严格限制符号。
- 调试日志
-当时没有将集合初始化,导致输出溢出报错
- 关键代码
```
private static void calculate() {
for (int i = 0; i }
</font>
3. 代码规范
请给出本次实验使用的代码规范:
-使用Tab键缩进,不手动空格
-按功能注释,每个功能回车一行进行注释
-并人工检查代码是否符合规范
##五、测试
|Input | Output | Result |
|------------- |-------------| --------|
| "-n","10","-grade","1" | P1 | BINGO |
| "-n","20","-grade","2" | P2 | BINGO |
| "-n","30","-grade","3" | P3 | BINGO |
P1:![](https://img2018.cnblogs.com/blog/1472457/201809/1472457-20180918235316745-87338050.png)
P2:![](https://img2018.cnblogs.com/blog/1472457/201809/1472457-20180918235320959-1111666645.png)
P3:![](https://img2018.cnblogs.com/blog/1472457/201809/1472457-20180918235325132-1678170103.png)
##六、总结
<font color=#0099ff size=12 face="黑体">
本次作业我们还是按照第一次作业的模式来进行设计的(先出题目再算结果)
难的是在于如何随机出现括号,以及对字符串题目的计算
逆波兰算法我们是借鉴他人这是我们的这次作业一大遗憾
看到同学们都全力以赴的完成这次作业,再回顾我自己花了一点时间草草的解决实在惭愧
</font>
加油
![](https://img2018.cnblogs.com/blog/1472272/201809/1472272-20180919103119987-219720059.jpg)
小学生作业V2.0的更多相关文章
- 小学生福利V2.0.1
211606320刘佳&211506332熊哲琛 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Plann ...
- 作业2-MathExam V2.0
MathExam V2.0 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 50 • ...
- 电梯V2.0
电梯V2.0 GitHub仓库地址 Problem 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留,3号电梯只停 ...
- [Android]Android端ORM框架——RapidORM(v2.0)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5626716.html [Android]Android端ORM ...
- JuCheap V2.0响应式后台管理系统模板正式发布beta版本
JuCheap V1.* 查看地址: http://blog.csdn.net/allenwdj/article/details/49155339 经过半年的努力,JuCheap后台通用响应式管理后台 ...
- python gettitle v2.0
#!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...
- ".NET Compact Framework v2.0 could not be found."
参考: http://blog.csdn.net/godcyx/article/details/7348431 问题原因: That's a known issue where VS can't di ...
- 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)
前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...
- 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1. 前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...
随机推荐
- Python - learn note(1)
1. 下载安装Python 2.7(为了向下兼容以前的版本), Python 3.5(VS2015不支持配置3.6的环境) 教程 需要使用VS2015进行开发,必须勾选上后面两项: 2. VS2015 ...
- POJ 1321 棋盘问题 dfs 难度:0
http://poj.org/problem?id=1321 注意是在'#'的地方放棋子 矩阵大小不过8*8,即使是8!的时间复杂度也足以承受,可以直接dfs求解 dfs时标注当前点的行和列已被访问, ...
- linux下redis的安装及配置启动
linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报 分类: 数据与性能(41) wget http:/ ...
- 1、lambda表达式
lambda表达式中的类型是通过上下文推断出来的,类似String[] strArr = {"as","sd"};右边元素的子类型. 匿名内部类的情况:需要引用 ...
- github打开慢,页面打不开,请求老是失败问题修复总结
感谢老铁 QQ(1218624820) 提供的方法建议 原因来自于DNS污染, 到下面的目录进行修改文件 C:\Windows\System32\drivers\etc 在后面粘贴下面的信息 192. ...
- ASP.NET MVC 使用NPOI导出Excel 无法访问已关闭的流(转)
第一步重写MemoryStream , 让它不能自动关闭. //新建类 重写Npoi流方法 public class NpoiMemoryStream : MemoryStream { public ...
- 在sublime中使用cppcheck
要想在sublime中使用cppcheck很简单,只需要安装两个插件就可以了:Sublimelinter 和 Sublimelinter-cppcheck 安装完成后在Sublimelinter的配置 ...
- sublime Text 3安装sublimecodeIntel插件
下载:https://github.com/SublimeCodeIntel/SublimeCodeIntel 解压到: data/pacakges目录 安装 Package Control插件 ...
- erlang otp中的socket参数设置
抄自http://www.zackzod.me/2012/10/24/socket-options-in-erlang-otp.html Erlang的inet模块里提供了对Socket进行一系列参数 ...
- 彻底解密C++宽字符(一)
彻底解密C++宽字符(一) 转:http://club.topsage.com/thread-2227977-1-1.html 1.从char到wchar_t “这个问题比你想象中复杂” 从字符到整数 ...