三年级计算题
211606390 张晋誌 211606329 王浩
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 65 |
? Estimate | ? 估计这个任务需要多少时间 | 60 | 65 |
Development | 开发 | 590 | 1195 |
? Analysis | ? 需求分析 (包括学习新技术) | 90 | 120 |
? Design Spec | ? 生成设计文档 | 30 | 60 |
? Design Review | ? 设计复审 | 20 | 60 |
? Coding Standard | ? 代码规范 (为目前的开发制定合适的规范) | 30 | 15 |
? Design | ? 具体设计 | 60 | 90 |
? Coding | ? 具体编码 | 240 | 500 |
? Code Review | ? 代码复审 | 60 | 200 |
? Test | ? 测试(自我测试,修改代码,提交修改) | 60 | 150 |
Reporting | 报告 | 65 | 80 |
? Test Repor | ? 测试报告 | 30 | 30 |
? Size Measurement | ? 计算工作量 | 20 | 20 |
? Postmortem & Process Improvement Plan | ? 事后总结, 并提出过程改进计划 | 15 | 30 |
合计 | 1340 |
二、需求分析
我通过查询小学三年级的教案的方式了解到,小学三年级数学有如下的几个特点:
- 没有进行负数的运算
- 除法运算除数不能为0,不能产生余数,被除数可以为0,一位数和两位数的除法。
- 乘法运算一个乘数为一位数,另一个乘数一般不超过三位数或者一个乘数为二位数,另一个乘数一般不超过三位数
- 是复合四则运算
经过分析,我认为,这个程序应当:
- 每道题目占一行
- 参与运算的数值和产生的答案都不能出现负数
- 运算结果一般不超过四位数
- 题目是起码有两个不同符号的复合运算
三、设计
1. 设计思路
说明你如何设计这个程序
比如:
- 这个程序有x个类,x个函数,函数之间的调用关系是怎样的?
- 关键函数的流程图
- 算法的关键是通过逆波兰实现题目的运算
2. 实现方案
写出具体实现的步骤
比如:
- 准备工作:先在Github上创建仓库,克隆到本地,通过git命令进行操作
- 技术关键点:逆波兰的实现
四、编码
请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
1. 调试日志
记录编码调试的日志,请记录下开发过程中的 debug 历程
无法运行
2. 关键代码
if(flag[i]==0)
{
flag[i]=random.nextInt(4)+1;
fg++;
L.append(fg+1,")");
}
if(flag[i]==1)
{
L.append("+");
fg++;
}
else if(flag[i]==2)
{
L.append("-");
fg++;
}
else if(flag[i]==3)
{
L.append("*");
fg++;
}
else if(flag[i]==4)
{
L.append("÷");
fg++;
}
通过产生随机数生成不同的运算符号。
3. 代码规范
请给出本次实验使用的代码规范:
- 第一条:方法简短抓住重点
- 第二条:同一个变量不在不同目的中使用
- 第三条:变量和方法的名称能体现实现功能
- 第四条:合理分配运用空间
五、测试
- 命令行输入参数: -n 0 -grade 3
- 命令行输入参数: -n -5 -grade 3
- 命令行输入参数: -n 10 -grade 10
- 命令行输入参数: -n 10 -grade -3
- 命令行输入参数: -n 5
- 命令行输入参数: -grade 3
六、总结
请总结过程中的教训和经验,思考
很多东西都还不会,写出的代码无法运行,不能熟练使用git,需要多加学习和练习。
- 是否使用了“软件开发的基本策略:分而治之”,是否需要重构
- “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构
原文地址:https://www.cnblogs.com/wzxhh/p/9672038.html
时间: 2024-08-05 11:00:28