20194693+自动生成四则运算题第一版报告
一 需求分析
使用C或Java语言完成一个自动生成四则运算试题的程序
二 功能设计
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
三 设计实现
Java语言实现,软件eclipse,其中随机生成数字需使用到Math.random()函数,使用for switch等实现。
四 测试运行

五 代码片段
随机数产生
public static void main(String[] args) throws Exception {
//创建写入文件对象
FileWriter fw = new FileWriter("result.txt");
//创建随机数对象
Random rm = new Random();
//要进行运算的运算符
char[] opera_all = { '*', '/', '+', '-' };
//随机符号匹配项 (switch)
char operachar;
//要写入文件的字符
String write_file = "";
//创建 a,b 两个运算数 ,c是a和b 操作的结果
int a = 0, b = 0, c = 0;
//进行10次循环
for (int i = 0; i < 10; i++) {
//每次产生随机数(从数组取运算符号)
int ope = rm.nextInt(4);
operachar = opera_all[ope];
a = (int) (Math.random() * 100);
b = (int) (Math.random() * 100);
//使进行的运算不包含乘法和除法
if ('*' == operachar || '/' == operachar) {
i--;
continue;
}
六 总结
刚开始的时候没有头绪,在别人的帮助下终于完成了。
七 PSP
|
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
|
Planning |
计划 |
8 |
6 |
|
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
8 |
10 |
|
Development |
开发 |
82 |
90 |
|
·· Analysis |
需求分析 (包括学习新技术) |
6 |
8 |
|
· Design Spec |
· 生成设计文档 |
5 |
6 |
|
· Design Review |
· 设计复审 (和同事审核设计文档) |
4 |
7 |
|
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
3 |
4 |
|
· Design |
具体设计 |
10 |
15 |
|
· Coding |
具体编码 |
36 |
40 |
|
· Code Review |
· 代码复审 |
7 |
9 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
13 |
20 |
|
Reporting |
报告 |
9 |
9 |
|
·· Test Report |
·测试报告 |
3 |
3 |
|
· Size Measurement |
计算工作量 |
2 |
2 |
|
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
3 |
2 |
浙公网安备 33010602011771号