20194663 自动生成四则运算题第一版报告(第二次作业)
一、需求分析
老师让家长每天出10道100以内的四则运算发的题,给孩子做。想通过一个小程序来做这件事。
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
二、功能设计
1、基本功能
(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
(3)题目数量可定制
(4)相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
(5)生成的运算题存储到外部文件result.txt中
2、扩展功能
(1)可对做题情况打分
(2)可以指出做错的题目编号,并给出正确答案
三、 设计实现
设计只用了一个类、一个主方法。所有的功能都在主方法里编写。
四、测试运行
五、
实现加减乘除四则运算,并且记录对错的数量,做错的题给出正确答案
```switch (oper) {
case 0:
{
System.out.print(i + 1 + ". " + first + "+" + last + "=");
result1 = input.nextInt();
result2 = first + last;
if(first+last>100)
break;
if (result1 == result2)
right++;
else {
error[j] = result2;
errorId[k] = i + 1;
j++;
k++;
}
break;
}
case 1:
{
while (first < last) {
first = random.nextInt(100);
last = random.nextInt(100);
}
System.out.print(i + 1 + ". " + first + "-" + last + "=");
result1 = input.nextInt();
result2 = first - last;
if (result1 == result2)
right++;
else {
error[j] = result2;
errorId[k] = i + 1;
j++;
k++;
}
break;
}
case 2:
{
System.out.print(i + 1 + ". " + first + "*" + last + "=");
result1 = input.nextInt();
result2 = first * last;
if(first*last>100)
break;
if (result1 == result2)
right++;
else {
error[j] = result2;
errorId[k] = i + 1;
j++;
k++;
}
break;
}
case 3:
{
if (last == 0) {
last = random.nextInt(99) + 1;
}
while (first % last != 0) {
first = random.nextInt(100);
last = random.nextInt(99) + 1;
}
System.out.print(i + 1 + ". " + first + "/" + last + "=");
result1 = input.nextInt();
result2 = first / last;
if (result1 == result2)
right++;
else {
error[j] = result2;
errorId[k] = i + 1;
j++;
k++;
}
break;
}
}
}```
六、总结
通过while语句和if语句实现系统的模块化,让用户选择。
七.PSP撰写
|
|
|
|||
计划 | 10 | 15 | |||
开发 | 127 | 161 | |||
.需求分析 (包括学习新技术) | 6 | 10 | |||
.生成设计文档 | 15 | 20 | |||
.设计复审 | 6 | 6 | |||
.代码规范 | 10 | 10 | |||
.具体设计 | 30 | 40 | |||
.具体编码 | 40 | 50 | |||
.代码复审 | 10 | 15 | |||
.测试 | 10 | 10 | |||
报告 | 30 | 33 | |||
.测试报告 | 10 | 12 | |||
.计算工作量 | 10 | 11 | |||
.事后总结 | 10 | 10 |