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

一、需求分析

  家长为了减少锻炼小学生的出题时间,简化自己的时间效率,于是利用程序写出自动生成运算题。这不仅仅可以减少家长的时间、也能为老师提供一个简单快速的出题方式。

二、功能设计

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

三、设计实现

其中文件写入需要FileWriter对象、随机生成数字需使用到Math.random()函数,使用for switch、if等函数判断运行条件。

四、测试运行

五、代码片段

1.去掉重复的题排除结果为负数、超一百的数

    if (c >= 100 || c < 0) {//排除超过100、负数的情况
                i--;
                continue;
            }
             //将题以字符方式拼接 
            String h = m + "" + operachar + n + "=";
             //去掉重复的题
            if (write_file.contains(h)) {
                i--;
                continue;
            }   

2.随机产生运算符

char[] opera_all = { '*', '/', '+', '-' };//选择进行运算的运算符、选择随机符号
        char operachar;
        String write_file = "";//要写入文件的字符
        int m , n , c =0;//定义 m,n 两个运算数 ,c是m和n 运算操作的结果
        //进行10次循环
        for (int i = 0; i < 10; i++) {
            //每次产生随机数(从数组取运算符号)
            int ope = num.nextInt(4);
            operachar = opera_all[ope];

3.打开文件写入及关闭

    
        write_file = write_file +"第"+(i+1)+"题:"+h + " " + "\n"; //写入操作
        
        f.write(write_file);//写入文件
        
        f.close();//文件关闭

六、总结

先计划好,再从基本功能开始,慢慢完善功能和代码。

七、PSP

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

猜你喜欢

转载自www.cnblogs.com/dongdi/p/11530534.html