20194620+自动生成四则运算题第一版报告

1.需求分析

使用C或Java语言完成一个自动生成四则运算试题的程序,该程序可以让二年级到四年级都能使用,题目多样化。

生成的题目避免重复,可以定制数量和打印方式,自己控制相关参数,比如是否有乘除法等操作。

2. 功能设计

  • 基本功能

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

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

  • 扩展功能

    (3)题目数量可定制

    (4)相关参数可控制

              是否包含乘法和除法

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

              操作数是否含负数    

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

 

3. 设计实现

只涉及一个类完成四则运算过程,在该类中我们有着控制输入题目数量和操作数的有效生成范围,同时可以选择是否

添加乘法和除法等。

 1 int i,k;
 2         char operator []={'+','-','*','/'};//运算符
 3         int n=1;
 4         System.out.println("简单四则运算式");
 5         System.out.print("请输入需要生成题目数:");
 6         Scanner sc = new Scanner(System.in);
 7         int votenum=sc.nextInt();    //题目数量
 8         System.out.print("请输入操作数的最大值:1~");
 9         //Scanner sc = new Scanner(System.in);
10         //int votenum=sc.nextInt();    //题目数量
11         int max=sc.nextInt();        //操作数的最大值
12         System.out.print("是否添加乘法和除法?1||0?:");
13         int choose=sc.nextInt();

4.测试运行

5.操作数的生成代码

if(choose==1){
            for(int j=1;;j++){
                i=(int)(1+Math.random()*(max-1+1));//输出一个随机数(1-100)
                k=(int)(1+Math.random()*(max-1+1));//输出一个随机数(1-100)
                char fuhao; int index = (int)(Math.random()*operator.length);fuhao=operator[index];
                int num;if(fuhao=='+'){
                     num=i+k;
                     if(num<100&&n<votenum){
                        System.out.println("第"+n+"题:"+i+""+fuhao+""+k+"=");n++;
                        }else{continue;}
                }else if(fuhao=='*'){
                     num=i*k;
                     if(num<100&&n<10){
                            System.out.println("第"+n+"题:"+i+""+fuhao+""+k+"=");n++;
                        }else{continue;}
                }else if(fuhao=='-'){
                     num=i-k;
                     if(num<100&&n<10){
                            System.out.println("第"+n+"题:"+i+""+fuhao+""+k+"=");n++;
                            }else{continue;}
                }else if(fuhao=='/'){
                     num=i/k;
                     if(num<100&&n<10){
                            System.out.println("第"+n+"题:"+i+""+fuhao+""+k+"=");n++;
                        }else{continue;}
                }  }  }
 

6.PsP

  

PSP2.1

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

15

20

·       Estimate

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

15

20

Development

开发

10

12

··       Analysis

  需求分析 (包括学习新技术)

2

 

·       Design Review

·  设计复审 (和同事审核设计文档)

0

0

·       Coding Standard

  代码规范 (为目前的开发制定合适的规范)

3

3

·       Design

  具体设计

0

0

·       Coding

  具体编码

10

15

·       Code Review

·  代码复审

3

3

·       Test

·  测试(自我测试,修改代码,提交修改)

5

5

Reporting

报告

9

6

··       Test Report

·  测试报告

3

2

·       Size Measurement

  计算工作量

2

1

·       Postmortem & Process Improvement Plan

·  事后总结 ,并提出过程改进计划

3

3

猜你喜欢

转载自www.cnblogs.com/Zhaoe692/p/11530374.html