小学计算题一次大满足

海量小学计算题

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 120 300
? Estimate ? 估计这个任务需要多少时间 600 1460
Development 开发
? Analysis ? 需求分析 (包括学习新技术) 120 300
? Design Spec ? 生成设计文档 30 60
? Design Review ? 设计复审 20 30
? Coding Standard ? 代码规范 (为目前的开发制定合适的规范) 20 30
? Design ? 具体设计 30 60
? Coding ? 具体编码 150 400
? Code Review ? 代码复审 60 250
? Test ? 测试(自我测试,修改代码,提交修改) 60 200
Reporting 报告 20 60
? Test Repor ? 测试报告 20 20
? Size Measurement ? 计算工作量 20 20
? Postmortem & Process Improvement Plan ? 事后总结, 并提出过程改进计划 20 30
合计 1760

二、需求分析

我通过百度查询小学一年级题库的方式了解到,小学一年级数学有如下的几个特点:

  • 特点1:答案和题目里的数值均小于100
  • 特点2:答案和题目里的数值均为正整数
  • 特点3:一般是两个数值之间的运算

经过分析,我认为,这个程序应当:

  • 产生的计算题是两个数之间的运算
  • 参与运算的两个数和结果均为正整数
  • 参与运算的两个数和结果均小于100

三、设计

1. 设计思路

说明你如何设计这个程序

比如:

  • 这个程序有1个类,1个函数。
  • 关键函数的流程是:读取命令行中的参数并根据参数决定如何运行,若正常运行创建文本文件,分类产生计算题并将数值及符号保存,打印计算题至屏幕和文本
  • 算法的关键是:分类运行输出计算题并打印至屏幕和文本

2. 实现方案

写出具体实现的步骤

比如:

  • 准备工作:先在Github上创建仓库,克隆到本地...
  • 技术关键点:分类算法,输出至文本

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程

1. 调试日志

记录编码调试的日志,请记录下开发过程中的 debug 历程

比如:

  • 给args【】分配了空间,args【】强转int抛异常,无法运行程序,取消给args【】分配的空间。
  • if语句后跟两个语句且有循环语句没有用大括号括起来,程序不报异常并死循环。
  • 输出计算题时语句放在了flag变量++的前面,输出题目答案为上一题答案。

2. 关键代码

        if(y==1)//一年级
        {
            number = (int)Math.ceil((r.nextDouble()*2.0));b[m]=number;//通过随机数选择符号
        for(;;){
            number = (int)Math.floor((r.nextDouble()*100.0));a[m]=number;
            number = (int)Math.floor((r.nextDouble()*100.0));c[m]=number;
            if(b[m]==1)if(a[m]+c[m]<100){fh="+";break;}
            if(b[m]==2)if(a[m]-c[m]>=0){fh="-";break;}
        }//循环取参与运算的数值直到满足运算条件退出循环并记录符号便于之后输出
        }
        if(y==2)//二年级
        {number = (int)Math.ceil((r.nextDouble()*2.0));//通过随机数选择符号
        b[m]=number+2;
            for(;;){
                number = (int)Math.ceil((r.nextDouble()*50.0));a[m]=number;
                number = (int)Math.ceil((r.nextDouble()*20.0));c[m]=number;
                if(b[m]==3)if(a[m]*c[m]<100){fh="*";break;}
                if(b[m]==4)if(a[m]%c[m]==0&&a[m]>=c[m]){fh="/";break;}
        }//循环取参与运算的数值直到满足运算条件退出循环并记录符号便于之后输出
        }

3. 代码规范

请给出本次实验使用的代码规范:

  • 第一条:手动处理异常不抛出
  • 第二条:合理进行代码注释
  • 第三条:不浪费空间
  • 第四条:及时结束进程

并人工检查代码是否符合规范

五、测试

  • 输入-1,1;输出:题目数输入错误,请输入1~9999
  • 输入1000000,2;输出:题目数输入过大,请输入1~9999
  • 输入0,6;输出:题目数输入错误,请输入1~9999 年级输入错误,请输入1或者2
  • 输入10,-1;输出:年级输入错误,请输入1或者2

六、总结

请总结过程中的教训和经验,思考

  • 是否使用了“软件开发的基本策略:分而治之”,是否需要重构

    是,需要。

  • “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构

    是,需要。

原文地址:https://www.cnblogs.com/wzxhh/p/9631765.html

时间: 2024-10-27 07:50:57

小学计算题一次大满足的相关文章

小学计算题——四则运算

一.题目要求 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: (1)能够自动生成四则运算练习题 (2)可以定制题目数量 (3)用户可以选择运算符 (4)用户设置最大数(如十以内.百以内等) (5)用户选择是否有括号.是否有小数 (6)用户选择输出方式(如输出到文件.打印机等) (7)最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 二.角色分配 驾驶员--王越--博客地址 (1)能够完成全部代码工作,程序基本实现全部要求功能,并将代码上传至codi

随机30道小学计算题02(修改)

由于上周作业实在存在许多问题,所以这周重新写了代码. 这次代码和上次完全不一样,将生成的算式保存在数组里了. 1.避免重复(通过for循环一个一个比较字符串)2.定制数量/打印方式(循环次数提出来作为变量/ 打印到文件通过引用函数实现)3.控制参数 是否有乘除(rand()%4改成%2,) 是否有括号,最多十个数(完成,随机生成插入括号的位置,不过只能插入一个括号就是) 数值范围(random(x)中x作为变量) 加减有无负数(通过计算结果,调用函数,返回bool判断) 除法有无余数(通过计算结

随机30道小学计算题修改01

经过两位老师的点评,我此次修正以下两个问题: 1.整数除数为0(如果出现这种情况,就把符号改成除除法之外的随机一种) 2.分数可约分(新增函数zuidagongyueshu,如果存在最大公约数,就除以这个最大公约数,其结果替换之前的数字) #include<stdio.h> #include<stdlib.h> #include<time.h> #define random(x) (rand()%x) #include <iostream> using na

随机30道小学计算题

一开始我是想直接把整数和分数写成两个函数再随机调用的,后来发现存在问题:1.分数随机出来很可能成是假分数,假分数时调用了也不会输出.2.如果这样那还得再来个时间,而且在试过之后发现再来一个随机出的数字也一样,就太冗余了. 综上:我选择了一个比较讨巧的方式,即:一个时间,当能生成真分数时就输出分数,不能的时候就用整数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 #define random(

MathExam小学一二年级计算题生成器V1.0

MathExam小学一二年级计算题生成器v1.0 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ? Estimate ? 估计这个任务需要多少时间 880 1540 Development 开发 ? Analysis ? 需求分析 (包括学习新技术) 60 100 ? Design Spec ? 生成设计文档 20 20 ? Design Review ? 设计复审 10 20 ? Co

小学生最爱的计算题生成器

最可爱的标题 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ? Estimate ? 估计这个任务需要多少时间 10 10 Development 开发 ? Analysis ? 需求分析 (包括学习新技术) 30 60 ? Design Spec ? 生成设计文档 30 30 ? Design Review ? 设计复审 30 30 ? Coding Standard ? 代码规范 (

MathExamV2.0四则混合运算计算题生成器

MathExamV2.0四则混合运算计算题生成器----211606360 丁培晖 211606343 杨宇潇 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ? Estimate ? 估计这个任务需要多少时间 60 100 Development 开发 ? Analysis ? 需求分析 (包括学习新技术) 360 440 ? Design Spec ? 生成设计文档 20 20 ? D

[软考]决策树、最短路径、最大收益、盈亏平衡点、线性规划(信息系统项目管理师-计算题汇总)

开场白:已经是第五篇软考文章了,也是最后一篇计算题的文章,基本包含了信管考试的全部计算题,因为现在离考试还早,北京地区8月11日报名,可以先学习一遍,考前再来复习一遍.这篇文章包含了许多实例,不对各实例的意义进行讲解了,都比较简单,看实例讲解,会算就可以了. 前天发布的第四篇文章没有被推上首页,可能是因为大部分题的来源都在网上可以搜到.这里我对这些题进行了分析整理,把一些错误的答案,不明确的讲解进行了完善,试题图片也是参照众多版本选出最清晰的.所以虽是网上收集来的,但也付出了很多的时间,在自己学

2016年5月信息系统项目管理师临门一脚重点串讲(综合知识、案例分析、重点论文、计算题)

http://edu.51cto.com/course/course_id-5868.html 1.旨在帮助大家快速通过软考,少受备考的折磨与孤独. 2.28小时,不到2天的时间,快速学完100天的内容 3.着重梳理综合知识重点高频考点,快速提升大家综合知识得分能力 4.多角度剖析案例分析,提升大家案例分析应试能力. 5.从论文框架与模版.到重点论文的准备,尽在掌控. 为帮助大家提高复习效率,以最小的代价通过信息系统项目管理师,本套软考冲刺临门一脚,从以下方面进行课程优化与组合:1.信息化或计算