20194633 自动生成四则运算

一、需求分析

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内。

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式。

(3)题目数量可定制。

(4)相关参数可控制。

          是否包含乘法和除法。

          操作数数值范围可控(如操作数 在100以内   还是1000以内)。

          操作数是否含负数。

  (5)生成的运算题存储到外部文件result.txt中。

二、功能设计

  基本功能:自动生成四则运算试题

  扩展功能:(1)算出答案

       (2)用户可以自己选择用加减,乘除,正负.

三、设计实现

      Java语言实现,软件myeclipse,其中随机生成数字需使用到Math.random()函数,并通过for,switch等控制语句实现条件的各种选择问题。

四、测试运行

一、需求分析

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

          是否包含乘法和除法

          操作数数值范围可控(如操作数 在100以内   还是1000以内)

          操作数是否含负数    

  (5)生成的运算题存储到外部文件result.txt中

二、功能设计

  基本功能:自动生成四则运算试题

  扩展功能:(1)算出答案

       (2)用户可以自己选择用加减,乘除,正负.

三、设计实现

      Java语言实现,软件myeclipse,其中随机生成数字需使用到Math.random()函数,并通过for,switch等控制语句实现条件的各种选择问题。

四、测试运行

只是加减法,并且么有负数。

加减法和有负数

包括负数和乘法和除法

么有负数,包括乘法和除法

五、代码

 

for(int i=0;i<tg;i++) {//循环控制题目个数

//第一个操作数的选择
int a=(int)(Math.random()*tf+1);
if(zf==1) {//有负数
int p=(int) (Math.random()*2);
switch(p) {
case 0:a=a*(-1);//取负数
System.out.print(a);break;
case 1:
System.out.print(a);break;
}
}
if(zf==0) {//没有负数
System.out.print(a);
}
if(fu==2) {//选择两个字符‘+’‘-’
int k=(int)(Math.random()*2);
switch(k) {//随机选择运算符
case 0:System.out.print("+");
break;
case 1:System.out.print("-");
break;
}
int b=(int)(Math.random()*tf+1);
if(zf==1) {//有负数
int p=(int) (Math.random()*2);
switch(p) {
case 0:b=b*(-1);//取负数
System.out.print(b);break;
case 1:
System.out.print(b);break;
}
}
if(zf==0) {//没有负数
System.out.print(b);
}
System.out.print("=");

//运算结果
if(k==0) {c=a+b;System.out.println(c);}
if(k==1){c=a-b; System.out.println(c);}


}
if(fu==4) {//四个字符的‘+’‘-’‘*’‘/’
int k=(int)(Math.random()*4+1);
switch(k) {//随机选择运算符
case 1:System.out.print("+");break;
case 2:System.out.print("-");break;
case 3:System.out.print("*");break;
case 4:System.out.print("/");break;
}

int b=(int) (Math.random()*tf+1);

if(zf==1) {//有负数
int p=(int) (Math.random()*2);
switch(p) {
case 0:b=b*(-1);//取负数

System.out.print(b);break;
case 1:
System.out.print(b);break;
}
}
if(zf==0) {//没有负数

System.out.print(b);
}
//等号

System.out.print("=");


//运算结果
if(k==1) {
c=a+b;System.out.println(c);
}
if(k==2) {
c=a-b;System.out.println(c);
}
if(k==3) {
c=a*b;System.out.println(c);
}
if(k==4) {
c=a/b;System.out.println(c);
}

六、总结

只有通过实践才能知道自己的能力与不足,自己的知识差的不是一点半点,有些知识都忘记了,但基本程序所需要的功能都实现了,设定了多个if条件语句,通过用户所选择输出方式的不同进入到用户所定义相应的程序块,以此来实现此程序的功能。自己编码能力差的太多了,在学习的道路上还任务重、道路还远。尽管有很多不懂的知识,但是自己依然会尽力自己最大的努力来学习。

七、PSP

计划

计划完成时间(min

实际完成时间(min

估计这个任务需要多少时间,并规划大致工作步骤

10

20

开发

210

320

需求分析

50

80

生成设计文档

30

30

设计复审

20

40

代码规范

10

15

具体设计

30

50

具体编码

60

90

代码复审

10

15

报告

30

40

测试报告

15

20

计算工作量

5

5

事后总结

10

15

原文地址:https://www.cnblogs.com/LJTQ/p/11529188.html