海量小学计算题

一、预估与实际

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

小学计算题一次大满足相关推荐

  1. 小学计算题生成器横式(C语言版)

    #include <stdio.h> #include <stdlib.h> #include<math.h>int main(void) {float a;flo ...

  2. 用C语言写了一个小学的数学练习题,简单的加减乘除(小学计算题)

    点击运行时,会出现如下运行框 输入对应数字,按回车即可进入下一步骤 说明:输入要算的数的范围就是你输入10的话,就算的是10以内的加减乘除 输入你想算的题目的个数之后,系统就开始给你出题了 当你写完了 ...

  3. 小学生计算题软件产品设计

    原型设计加用户规格说明 蔡晨旸349 蔺皓雯369 工具:墨刀 博客作业:https://edu.cnblogs.com/campus/fzzcxy/2016SE/homework/2180 原型链接 ...

  4. 六年级下册百分数计算题_小学六年级数学期末考,题量较大,出题全面、灵活...

    昨天,我们进行了期末考试,因为是八月中旬开学的,所以,期末考试,也进行地比较早. 六年级数学上册人教版,此次期末测试,题量是非常大的,大题共有六道,题型呢,主要是填空.判断.选择.计算.图形.应用题. ...

  5. 二年级上册计算题_小学二年级数学上册应用题与思维训练集锦500题

    篇幅有限,下载电子版查看 一.想一想,填一填: 1.5+5+5+5+5+5+5=(  )×(   ) 4+4+4+3=(    )×(    )+(    ) 2+2+2+2-1=(    )×(   ...

  6. 时间计算题100道_2019消防工程师考试易考6大类型计算题

    在一级注册消防工程师的考试中,每年都会出现不同类型的相关知识点的计算题,很多考生对计算题还是相对比较迷糊的,为帮助考生有效备考,本篇内容整理了消防工程师易考6大类型计算题,供各位考生备考学习. 1防排 ...

  7. 基于希克斯需求价格弹性计算_#炳哥经济学临考密押DAY1#微观计算题考点大盘点(上)...

    原标题:#炳哥经济学临考密押DAY1#微观计算题考点大盘点(上) 我敢说:微观经济学所有能考的计算题都在这了!信不信由你! 一.消费者行为理论 1.消费者最优选择求解:留意是否满足边际替代率递减 此类 ...

  8. Excel制作小学数学加减法计算题库,实现孩子每日计算训练不重样

    是不是有跟彬哥同样焦虑的家长,小孩数学计算不行,然后去百度每天搜索小学数学计算题,然后各种网站一顿下载打印,身心疲惫.突然彬哥想到为什么不能利用我们常用的Excel软件设计一套小学数学加减法计算题库呢 ...

  9. 时间计算题100道_小学数学专项练习:计算题200道,趁早打印给孩子,期末考试拿100分!...

    点击上方「升学的秘诀」关注我们! 获取更多教育经验.方法.学习资料等,每天中午12点与您相约! ▼ 说到我们数学学习过程中最重要的是什么?毋庸置疑那就是我们的一个计算能力,计算可以说是贯穿了我们整个数 ...

最新文章

  1. Kubeedge Edged概述
  2. org.mybatis.spring.MyBatisSystemException异常及处理
  3. 【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
  4. PL/SQL开发五年工作经验精典实例
  5. python 将图片转换成像素画_Canvas 实现位图转像素画
  6. relativelayout常用属性
  7. Python多线程编程的一个掉进去不太容易爬出来的坑
  8. 永不改变的PCB设计黄金法则
  9. powershell ise好字库和diy配色文件分享
  10. 粒子群PSO算法实验及其代码解释
  11. php二分查找法实例
  12. 实时操作系统分类、特点及实现原理
  13. 二分算法和冒泡排序时间复杂度分析
  14. 二阶矩阵转置怎么求_这个二阶矩阵的二范数怎么求
  15. 摸鱼小组-冲刺日志(第二天)
  16. 迅雷超级会员有必要开吗,迅雷超级会员值得开吗
  17. Google Earth Engine(GEE)——S2影像异常值
  18. 潭州课堂25班:Ph201805201 django 项目 第一课 (课堂笔记)
  19. 3.6 函数作图与渐近线
  20. 51nod 1431 快乐排队

热门文章

  1. java 改变窗口颜色_java swing 设置窗口背景颜色
  2. matlab二次同余方程,解同余式ax ≡ c(mod m)
  3. 计算机课程免修申请书,课程免修申请书
  4. easyUI-增删改查
  5. Pycharm调试卡住,出现connected
  6. 09年5月21日CTO俱乐部北京区会员首次聚餐
  7. 《java性能优化实战》之多线程性能调优
  8. mtkcamera四摄移植
  9. 数据库系统概论 ---- 第五章 -- 数据库完整性
  10. Nacos配置中心与服务发现