题目:
5 |
四则运算二 |
通过网络查询二年级小学数学四则运算的范围。 观察《冀教版数学二年级上册口算练习》文档。 总结二年级小学数学,并且按照《软件需求规格说明书》的要求撰写一份小学二年级四则运算软件需求规格说明书。 撰写一篇博客要求讲述四则运算2的设计思想,源程序代码、运行结果截图、编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志。 截止时间周三12月6日(20:00)之前发布。 博客要求 1)在开始实现程序之前,使用下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间。 2)在你实现完程序之后,使用下述PSP表格记录下你在程序的各个模块上实际花费的时间。 3)共享你对程序进行测试的至少10个测试用例,以及说明为什么你能确定你的程序是正确的。(不正确的程序得0分,不管性能如何) 4)说明你在个人项目中学到了什么。
|
作业内容:
设计思路:
主要是对随机数的筛选,筛选的标准是计算结果的限定
代码实现:
package DefaultPackage; import java.util.Scanner; class Zhengshu//整数类 { String re1="";//初始化 “结果” String类型的 int re; String function(int r ,int q, int fun)// r最小值,q最大值,fun 选择 { //1有乘除法 2加减无负数 3除法无余数(12,1,0) String fu =""; String shizi=""; int a=(int)(Math.random()*(r)%(r-q+1)+q); int b=(int)(Math.random()*(r)%(r-q+1)+q); int c=(int)(Math.random()*4); if(fun==1) { if(c==0) { while(a+b>100){ a=(int)(Math.random()*(r)%(r-q+1)+q); b=(int)(Math.random()*(r)%(r-q+1)+q); } fu="+"; shizi=a+" "+fu+" "+b; re=a+b; re1=String.valueOf(re); } if(c==1) { fu="-"; //排除负数可能性 while(a-b<0) { a=(int)(Math.random()*(r)%(r-q+1)+q); b=(int)(Math.random()*(r)%(r-q+1)+q); } shizi=a+" "+fu+" "+b; re=a-b; re1=String.valueOf(re); } if(c==2) { while(a>10||b>10){ a=(int)(Math.random()*(r)%(r-q+1)+q); b=(int)(Math.random()*(r)%(r-q+1)+q); } fu="×"; shizi=a+" "+fu+" "+b; re=a*b; re1=String.valueOf(re); } if(c==3) { while(a>10||b>10){ a=(int)(Math.random()*(r)%(r-q+1)+q); b=(int)(Math.random()*(r)%(r-q+1)+q); } fu="÷"; //排除分母为0的可能性和余数的可能性 while(b==0||a==0) { a=(int)(Math.random()*(r)%(r-q+1)+q); b=(int)(Math.random()*(r)%(r-q+1)+q); } re=a; shizi=a*b+" "+fu+" "+b; re1=String.valueOf(re); } } if(fun==2)//分数 { // if(c==1){//真分数的除法运算 while((a<=b)||(a%b!=0)||(a/b)>10){ a=(int)(Math.random()*(r)%(r-q+1)+q); b=(int)(Math.random()*(r)%(r-q+1)+q); } fu="/"; shizi=a+" "+fu+" "+b+" "+"="; } // } return shizi;//返回字符串 } } public class Account { @SuppressWarnings("null") public static void main(String[] args){ int r; int q; System.out.println("输入最大值"); @SuppressWarnings("resource") Scanner sc=new Scanner(System.in); r=sc.nextInt(); System.out.println("输入最小值"); @SuppressWarnings("resource") Scanner sx=new Scanner(System.in); q=sx.nextInt(); System.out.println("输入计算试类型"); Scanner sd=new Scanner(System.in); int fun=sd.nextInt(); // System.out.println("输入个数"); // Scanner sg=new Scanner(System.in); // int num=sg.nextInt(); for(int i=0;i<30;i++){ Zhengshu a = new Zhengshu(); System.out.println(a.function(r, q, fun)); } } }
结果截图:
姓名:李奇原 2017年12月5日 |
|
||||||||||
题目1 日期 |
分析 |
设计思路 |
伪代码,流程图 |
代码实现 |
调试 |
总计 |
|
||||
周二 |
5 |
10 |
15 |
50 |
15 |
95 |
|
||||
周二、周三 |
60 |
50 |
30 |
360 |
500 |
1000 |
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
时间记录日志:
日期 |
开始 |
结束 |
中断时间 |
净时间 |
活动 |
备注 |
周二 |
8:00 |
10:00 |
0 |
120 |
上课 |
课堂测试 |
|
10:10 |
11:50 |
0 |
100 |
上课 |
上机 |
|
15:00 |
16:00 |
0 |
60 |
开会 |
学习 |
周二 |
10:00 |
23:00 |
120分 |
11小时 |
写代码 |
无 |
周三 |
14:00 |
23 |
50分 |
8小时 |
写代码+调试 |
无 |
|
|
|
|
|
|
|
缺陷记录日志
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
11/28 |
1 |
思路 |
设计思路 |
设计思路 |
10 |
分装 |
|
2 |
代码实现 |
代码实现 |
代码实现 |
25 |
语法,书写错误 |
|
3 |
调试 |
调试阶段 |
调试阶段 |
25 |
数据库表设计 |
12/5 |
4 |
代码 |
书写 |
书写 |
100 |
语法问题 |
|
5 |
设计 |
设计 |
设计 |
120 |
技术问题 |
12/6 |
6 |
优化 |
优化 |
优化 |
100 |
优化+用户体验 |