一、需求分析
老师让家长每天出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)可以指出做错的题目编号,并给出正确答案
三、 设计实现
设计只用了一个类、一个主方法。所有的功能都在主方法里编写。
四、测试运行
五、
实现加减乘除四则运算,并且记录对错的数量,做错的题给出正确答案
<p>switch (oper) {<br /> case 0:<br /> {<br /> System.out.print(i + 1 + ". " + first + "+" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first + last;<br /> if(first+last>100)<br /> break;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> case 1:<br /> {<br /> while (first < last) {<br /> first = random.nextInt(100);<br /> last = random.nextInt(100);<br /> }<br /> System.out.print(i + 1 + ". " + first + "-" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first - last;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> case 2:<br /> {<br /> System.out.print(i + 1 + ". " + first + "*" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first * last;<br /> if(first*last>100)<br /> break;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> case 3:<br /> {<br /> if (last == 0) {<br /> last = random.nextInt(99) + 1;<br /> }<br /> while (first % last != 0) {<br /> first = random.nextInt(100);<br /> last = random.nextInt(99) + 1;<br /> }<br /> System.out.print(i + 1 + ". " + first + "/" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first / last;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> }<br /> }
六、总结
通过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 |