一、需求分析
本程序设计的初衷是减轻父母的负担,使孩子能够熟练掌握四则运算。本程序可以生成100以内的加、减、乘、除四则运算,采用随机出题的机制,确保十道题中的每一题都不重复。
二、功能设计
1、100以内的加、减、乘、除计算题,要求运算结果也在100以内;
2、可以对出题的数量进行快速的选择;
3、生成的运算题存储到外部文件result.txt中;
4、程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目。例如,23 + 45 = 和26 + 19= 是重复的题目,7 × 9= 和9 × 7 = 也是重复的题目。
三、设计实现
1、利用for循环剔除重复算式;
3、利用printf和scanf控制题目数量和相关参数;
4、利用random产生随机不重复函数
四、测试运行
五、代码片段
```
public boolean FS() {// 是否存在负数
int flag;
flag = S.nextInt();
if (1 == flag)
return true;
else
return false;
}
public boolean BaoCun() {// 是否保存
int flag;
flag = S.nextInt();
if (1 == flag)
return true;
else
return false;
}
public int Number() { // 出题个数
int n;
n = S.nextInt();
return n;
}
public int oppNumber() {// 是否存在乘除
int oppn;
oppn = S.nextInt();
if (1 == oppn)
return 4;
else
return 2;
}
public int selectNumber() {// 操作数的范围
int sel;
sel = S.nextInt();
if (1 == sel)
return 101;
else
return 1001;
}
public void MENU() {
int inputNumber, oppNumber, selectNumber;
boolean isNegative, ifSave;
System.out.println("《学生计算题出题系统欢迎您的到来》");
System.out.println("**输入要打印的题目数:");
inputNumber = this.inputNumber();
System.out.println("**题中是否出现乘除计算,输入1出现,输入其他数字不出现");
oppNumber = this.oppNumber();
System.out.println("**选择打印操作数数值范围,输入1打印100以内,输入其他数字打印1000以内");
selectNumber = this.selectNumber();
System.out.println("**操作数是否含负数,输入1出现负号,输入其他数字不出现");
isNegative = this.isNegative();
System.out.println("**是否将结果存到计算机中,输入1存,输入其他数字不存");
ifSave = this.isSave();
this.opptt(inputNumber, oppNumber, selectNumber, isNegative, ifSave);
}
}
```
六、最后总结
从本次作业中我发现自己编程基础还有待提高,代码只能实现一些基本功能,缺乏拓展功能,希望在课下继续夯实基础。虽然在实现功能的过程中遇到一些困难,但同时也丰富了编程经验。
七、PSP撰写
PSP | 任务内容 | 计划时间(min) | 完成时间(min) |
Planning | 计划 | 60 | 100 |
Estimate | 估计时间 | 100 | 120 |
Development | 开发 | 350 | 450 |
Analysis | 需求分析 | 38 | 25 |
Design Spec | 生成设计文档 | 45 | 68 |
Design Review | 设计复审 | 45 | 90 |
Coding Standard | 代码规范 | 100 | 152 |
Design | 具体设计 | 60 | 68 |
Coding | 具体编码 | 60 | 70 |
Code Review | 代码复审 | 50 | 58 |
Test | 测试 | 30 | 68 |
Reporting | 报告 | 30 | 45 |
Test Report | 测试报告 | 50 | 54 |
Size Measurement | 计算工作量 | 30 | 35 |
Postmortem & Process Improvement Plan | 总结, 并提出改进 | 60 | 60 |