提高小学生运算神器

Posted li-zhen-cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提高小学生运算神器相关的知识,希望对你有一定的参考价值。

# 隔壁村小学的小朋友都羡慕哭了

一、预估与实际

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

二、需求分析

我通过网上查阅和询问担任担任小学老师的姑姑了解到,小学一年级数学有如下的几个特点:

  • 特点1:20以内的加减计算
  • 特点2:会100以内加减乘除法

经过分析,我认为,这个程序应当:加减数目不超过20,并且可以随机生成数字和加减法,减少出现相同题目的概率

三、设计

1. 设计思路

说明你如何设计这个程序

  • 首先,我先分析了小学生题目的难度,确认了生成随机数的大小
  • 然后就先考虑任务一的需求,生成随机加减法运算
  • 然后思考如何将循环里的数放在另一个循环里使用
  • 最后测试,然后任务二类似

2. 实现方案

写出具体实现的步骤

任务一

  • 首先,我先分析了小学生题目的难度,确认了生成随机数的大小
  • 然后就先考虑任务一的需求,生成随机加减法运算
  • 然后思考如何将循环里的数放在另一个循环里使用
  • 最后测试任务一

    任务二

  • 首先,模仿任务一,生成乘除的题目,考虑余数问题
  • 然后思考如何选择年级生成题目
  • 最后思考如何生成文本

四、编码

  • 查到math.random()是生成随机数的方法
  • 运用判别法判定加减法(乘除法)

1. 调试日志

  • 在数组中存入数据,调用时发生越界
  • 循环中创数

2. 关键代码

        for(int a=0; a<n;a++)
        {
            int i=(int) Math.floor(Math.random()*20+1); //生成随机数,并确保不为0
            int j=(int) Math.floor(Math.random()*20+1);//生成随机数,并确保不为0
            int x=(int) Math.floor(Math.random()*2+1);//生成随机数,并确保不为0
            ai[a]=i;
            aj[a]=j;
            ax[a]=x;
            ax[a]=x;
            if(x%2==1) { //判别加或减
            System.out.println("(" + m1 + ") "+ i +" + " + j + "="); //输出
            }else {
            System.out.println("(" + m1 + ") "+ i + " - "+j+"= ");
            }
            m1++; //左边序号的增加
            }
            

3. 代码规范

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

  • 第一条:避免类似的名字,或者仅仅是大小写不同的名字
  • 第二条:左小括号和字符之间不出现空格;同样的,右小括号和字符之间也不出现空格
  • 第三条:题目与标准答案之间空一格

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

五、测试

请输入年级与题目数

  • 题目数输入100000000,程序会出现故障
  • 年级输入3,程序会出现故障
  • 输入1 10 输出正常
  • 输入2 10 输出正常

六、总结

  • 从刚看到题目时的不知所措,第一想法就是“我不会”,到后来的冷静分析,然后寻找解题的方法,通过上网寻找不会的问题,然后逐渐思路清晰,一个问题一个问题的攻克,让我对软件工程产生了一丢丢小小的成就感,自己编程很久然后测试成功时的喜悦是很难忘的,虽然说这次的程序还有很多毛病,但是这也是我经历1个星期时间所完成的,希望下次可以更加出色的做完任务,Fighting!

以上是关于提高小学生运算神器的主要内容,如果未能解决你的问题,请参考以下文章

小学生四则运算之

类型系统的运算法则--代码阅读神器--类型关乎复合

201571030320+小学四则运算练习软件项目报告

201571030318 小学四则混合运算

小学四则运算

ChatGPT 成学生“作弊神器”?教授:“我感到极度恐惧”