四则运算二
题目:
|
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 |
优化+用户体验 |

浙公网安备 33010602011771号