20194641——自动生成四则运算测试报告

一、需求分析:

编写一个适合小学生计算的四则运算小程序,程序相关参数可以定制,并把生成的等式存储到外部result.txt文件中。

二、功能实现:

·基本功能

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

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

(3)题目数量可定制

(4)相关参数可控制

是否包含乘法和除法

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

操作数是否含负数    

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

·拓展功能

(1)对输出的等式进行了优化:通过给所有的为负值的操作数添加括号,极大的提高了等式的整洁度,增强了等式的可读性。

三、设计实现:

(1)利用rand.nextInt()语句和(int) (Math.random()*number);语句实现随机数的生成

int    a = rand.nextInt(100);//在0-100的范围内随机生成整数int    b = rand.nextInt(100);//在0-100的范围内随机生成整数
Asum[i]=(int) (Math.random()*number1);
Bsum[i]=(int) (Math.random()*number1);

(2)将四则运算符储存到char类型的数组中,利用(int) (Math.random()*number)语句随机生成四则运算式;

char Opera[]= {‘+‘,‘-‘,‘*‘,‘/‘};//Opera[0]~Opera[3]依次输出“+”,“-”,“*”,“/”
int r=(int) (Math.random()*number3);//判断输出+,-,*,/

(3)利用PrintStream sun = new PrintStream("d:/result.txt");语句将生成的等式保存在result.txt文档中;

PrintStream ps = new PrintStream("d:/result.txt");
System.setOut(ps);

(4)利用int number1 = reader.nextInt();实现题目数量可控;

System.out.println("输入等式的数量");
        int number2 = reader.nextInt();
        int Bsum[]=new int[number2];

(5)实现操作数数值范围可控;

System.out.println("输入控制数范围");
        int number1 = reader.nextInt();
        int Asum[]=new int[number1];

(6)实现负值运算;

char Opera2[]= {‘ ‘,‘-‘};//Opera[0]~Opera[1]依次输出“ (空格)”,“-”
int n=(int) (Math.random()*number4);//第一个数值是否为负数
int m=(int) (Math.random()*number4);//第二个数值是否为负数

(7)实现给全部负值加括号;

char Opera3[]= {‘ ‘,‘(‘,‘)‘};//Opera[0]~Opera[2]依次输出“ (空格)”,“(”,“)”
int r=(int) (Math.random()*number3);//判断输出+,-,*,/

(8)实现等式的除重操作;

Asum[0]=(int) (Math.random()*number1);
            Bsum[0]=(int) (Math.random()*number2);
        for(int i=1;i<number2;) {
            Asum[i]=(int) (Math.random()*number1);
            Bsum[i]=(int) (Math.random()*number1);
            if(Asum[i]!=Asum[i-1]) {
                i++;
            }
        }

四、测试运行:

(1)基本需求测试运行

(2)拓展需求测试运行

五、比较满意的代码片段:

char Opera[]= {‘+‘,‘-‘,‘*‘,‘/‘};//Opera[0]~Opera[3]依次输出“+”,“-”,“*”,“/”
char Opera2[]= {‘ ‘,‘-‘};//Opera[0]~Opera[1]依次输出“ (空格)”,“-”
char Opera3[]= {‘ ‘,‘(‘,‘)‘};//Opera[0]~Opera[2]依次输出“ (空格)”,“(”,“)”

for(int i=0;i<number2;i++) {
int n=(int) (Math.random()*number4);//第一个数值是否为负数
int m=(int) (Math.random()*number4);//第二个数值是否为负数
int r=(int) (Math.random()*number3);//判断输出+,-,*,/

System.setOut(ps);
System.out.printf("%c%c%d%c%c%c%c%d%c=\r",Opera3[n*1],Opera2[n],Asum[i],Opera3[n*2],Opera[r],Opera3[m*1],Opera2[m],Bsum[i],Opera3[m*2]);
System.out.println();
}

六、总结:

对新技术的学习能力还需要加强。把所有的方法和对象都放到了一个类中进行了实现,代码的结构层次不明显。

七、PSP

PSP2.1 任务内容 计划共完成需要的时间(h) 实际完成需要的时间(h)
Planning 计划 0.5 1
· Estimate · 估计这个任务需要多少时间,并规划大致工作步骤 18.3 27.4
Development 开发 5 8
·· Analysis 需求分析 (包括学习新技术) 3 5
· Design Spec · 生成设计文档 0.5 0.6
· Design Review · 设计复审 (和同事审核设计文档) 0.5 0.5
· Coding Standard 代码规范 (为目前的开发制定合适的规范) 0.2 0.4
· Design 具体设计 2 2
· Coding 具体编码 2 2
· Code Review · 代码复审 1 1.5
· Test · 测试(自我测试,修改代码,提交修改) 3 6
Reporting 报告 0.5 0.5
·· Test Report · 测试报告 0.2 0.2
· Size Measurement 计算工作量 0.2 0.2
· Postmortem & Process Improvement Plan · 事后总结 ,并提出过程改进计划 0.5 0.5

原文地址:https://www.cnblogs.com/sunshuaiqun/p/11524998.html

时间: 2024-10-23 13:57:13

20194641——自动生成四则运算测试报告的相关文章

用不同语言实现自动生成四则运算题目

Github项目地址:https://github.com/Aiyaxc/zuoye- 题目:用不同语言实现自动生成四则运算题目的命令行程序. (1)题目要求: a.  能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!) b. 除了整数外,还要支持真分数的四则运算  (2)思路: a.四则运算加减乘除,采用两个随机数,由于不能出现负数,所以在对两个随机数进行减法运算的时候,需要进行比较大小,而除法在运算中,除数不能取0. b.  进行真分数运算应注意假分数的影响

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

一.需求分析 需要能自动生成四则运算的程序并能控制其中的一些参数,显示在txt文件中 二.功能设计 基本功能 自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内 扩展功能 (1)剔除重复算式.  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式 (2)题目数量可定制 (3)以下相关参数可控制 是否包含乘法和除法 操作数数值范围可控(如操作数 在100以内   还是

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

1.需求分析: 帮助学校自动生成四则运算. 2.功能设计: (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内 ( 2)剔除重复算式.  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式 (3)题目数量可定制 (4)相关参数可控制 是否包含乘法和除法 操作数数值范围可控(如操作数 在100以内   还是1000以内) 操作数是否含负数 3.设计实现: 用C语

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

1.需求分析 使用C语言完成一个自动生成四则运算试题的程序. 2.功能设计 基本功能:随机生成10道100以内的2个操作数的四则运算算式,要求运算结果也在100以内. 扩展功能:(1)剔除重复算式 (2)定制题目数量 (3)是否选择包含乘法和除法 (4)操作数数值范围是否可控 (5)操作数是否含负数 (6)是否选择生成答案 (7)生成的运算题存储到result.txt文件中 3.设计实现 使用sign函数实现含有负数的随机算式.sum函数选择受否生成带有答案的算式,其他功能由主函数完成. 4.测

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

一.需求分析 需要自动生成四则运算试题的程序,取值范围在100以内,操作数是否含负数,剔除重复算式,显示在txt文件中 二.功能设计 基本功能:自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内 扩展功能:1. 剔除重复算式.2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式 2. 题目数量可定制 3. 相关参数可控制 是否包含乘法和除法 操作数数值范围可控(如操作

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

一·需求分析 通过此代码自动生成四则运算,给运算带来方便,节省老师和家长的出题时间. 二·功能设计 (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内 (2)剔除重复算式.  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式 (3)题目数量可定制 (4)相关参数可控制 是否包含乘法和除法 操作数数值范围可控(如操作数 在100以内   还是1000以内) 操

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

一 需求分析 利用C语言或者JAVA来编写代码 通过此代码自动生成四则运算,利用自动生成四则运算题程序可以进一步培养小学生计算能力,提高运算能力,并且减少老师和家长出题工作量. 二功能设计 (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内 (2)剔除重复算式.  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式 (3)题目数量可定制 (4)相关参数可控制

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

1.需求分析:自动生成四则运算,运算结果也在100之内   剔除重复算式,生成的运算题存储到外部文件result.txt中 2.功能设计: 基本功能:自动生成10道100以内的2个操作数的四则运算算式(+ - *  /) 题目数量可定制 相关参数可控制           是否包含乘法和除法           操作数数值范围可控(如操作数 在100以内   还是1000以内)           操作数是否含负数 生成的运算题存储到外部文件result.txt中 3.设计实现 设计功能全部实现

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

一.需求分析 (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内 (2)剔除重复算式.  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式 (3)题目数量可定制 (4)相关参数可控制 是否包含乘法和除法 操作数数值范围可控(如操作数 在100以内   还是1000以内)   操作数是否含负数 (5)生成的运算题存储到外部文件result.txt中 二.功能设