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,针对不足之处日后改进

三、设计

  1. 设计思路

    说明你如何设计这个程序

比如:

-这次程序要求相比上次程序变成了多位数四则运算,所以考虑乘除法优先级法则需要输出括号

-因此我们把程序分为了三大块,一块是出题的,一块是输出文件,最后一块是计算结果的。

-但是出题这一块代码块里还有要判断是否有符号,写入文件里有创建和写入数据。

-最后上面提到的考虑到乘除法优先级法则运算,计算运算块里运用了逆波兰表达式

-能进行不同年级题目不同难度级别题目输出到TXT文件

2. 实现方案

写出具体实现的步骤

比如:

-我们先讨论了基于上次程序需要修改的部分,列出需要增加的功能块,和需要修改变量的块

-着重研究了逆波兰表达式,参考了许多csdn大神博客

-开始整合代码,写出大致框架

-测试,输入各种极限数据来检验程序逻辑性功能

-Debug

-Done

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程

-这次程序的难点主要体现在四元运算,并且乘除括号是随机的,并且要跟随严格的逻辑功能。

-除数不能为0,也不能为负数,在随机数上要严格限制符号。

  1. 调试日志

-当时没有将集合初始化,导致输出溢出报错

  1. 关键代码

```
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的更多相关文章

  1. 小学生福利V2.0.1

    211606320刘佳&211506332熊哲琛 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Plann ...

  2. 作业2-MathExam V2.0

    MathExam V2.0 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 50 • ...

  3. 电梯V2.0

    电梯V2.0 GitHub仓库地址 Problem 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留,3号电梯只停 ...

  4. [Android]Android端ORM框架——RapidORM(v2.0)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5626716.html [Android]Android端ORM ...

  5. JuCheap V2.0响应式后台管理系统模板正式发布beta版本

    JuCheap V1.* 查看地址: http://blog.csdn.net/allenwdj/article/details/49155339 经过半年的努力,JuCheap后台通用响应式管理后台 ...

  6. python gettitle v2.0

    #!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...

  7. ".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 ...

  8. 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)

    前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...

  9. 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

     因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1.    前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...

随机推荐

  1. 048——VUE中使用animate.css动画库控制vue.js过渡效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Python IDE集成开发工具

    Python IDE集成开发工具 Python IDE 本文为大家推荐几款款不错的 Python IDE(集成开发环境),比较推荐 PyCharm,当然你可以根据自己的喜好来选择适合自己的 Pytho ...

  3. Linux:自动获取静态IP地址,清空iptable,修改selinux脚本

    自动获取静态IP地址,清空iptable,修改selinux脚本 环境:VMware 平台:centos6.8全新 功能: 1)应用ifconfig -a,route -n,cat /etc/reso ...

  4. java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 【 解决方案】

    当我们在启动tomcat服务的时候报错信息:java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bin 分析:从错 ...

  5. 回首C语言关键字(~回首向来萧瑟处~)

    开篇废话: 本文意在回顾 C 语言中的关键字,整理文件发现当时做的这些笔记还是蛮用心的,有临摹 前辈的足迹也有自己的理解和体会.时至今日2018已经跨过一半,对不起过去半年,今天 拿这篇关键字开篇,开 ...

  6. 使用nginx反向代理处理前后端跨域访问

    本文主要解决:使用nginx反向代理处理前后端跨域访问的问题 1.何为跨域访问? 以下类型为跨域访问 1)不同域名间访问 www.zuiyoujie.com和www.baidu.com 2)同域名不同 ...

  7. jenkins配置java

    # JDK版本 java -version # JDK目录 echo $JAVA_HOME # jenkins配置

  8. asp.net core microservices 架构之分布式自动计算(三)-kafka日志同步至elasticsearch和kibana展示

    一 kafka consumer准备 前面的章节进行了分布式job的自动计算的概念讲解以及实践.上次分布式日志说过日志写进kafka,是需要进行处理,以便合理的进行展示,分布式日志的量和我们对日志的重 ...

  9. 7-13 求链式线性表的倒数第K项(20 分)

    给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式 ...

  10. 折半查找(C语言)

    一.二分查找 在C和C++里,二分查找是针对有序数组所用的一种快速查找元素的方法. 二.二分查找的条件以及优缺点 条件:针对有序数组(元素从小到大或从大到小) 优点:查询速度较快,时间复杂度为O(n) ...