MathExam

Posted yhd12

tags:

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

@一二年级算术

一、预估与实际

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

二、需求分析

我通过小学数学大纲的方式了解到,小学一年级数学有如下的几个特点:

  • 特点1 计算数值小

  • 特点2 运算简易

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

  • 小学二年级乘法的两个数字应大于0小于10
  • 小学一年级算术加法和减法只在100以内之间相加减,且不存在相减为负数

三、设计

1. 设计思路

  • 用户输入的参数,需要判断是否符合要求
  • 题目随机生成,需要符合一二年级的算术规则
  • 减法不能产生负数,除法不能整除的情况下,要产生商
  • 文件的生成与写入

    2. 实现方案

写出具体实现的步骤

  • 准备工作:先在Github上创建仓库,克隆到本地...
  • 输出out.txt文件
  • 如何用命令行输出参数

四、编码

  • 到args数组来实现从命令行中接收参数
  • 用Random没有种子的构造函数来生成随机数

1. 调试日志

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

  • 在减法运算中,可能出现a-b小于0,小学没有结果为负数的算术
    ,所a和b对换并相减
  • 无法用命令行输入参数 ,用args数组解决

2. 关键代码

请展示一段程序的关键代码,并解释代码的作用

try(PrintWriter p = new PrintWriter("out.text")) {
            for (int i = 0; i <=(2*n-2); i=i+2) 
                p.println(MathExam5242.answer.get(i));
                p.println("--------------- 标准答案---------------");
            
            for (int i = 0; i <=(2*n-2); i=i+2) {
                p.print(MathExam5242.answer.get(i));
                p.println(MathExam5242.answer.get(i+1));
            }
            p.close();
        } catch (Exception e) {
            // TODO: handle exception
        }
  • 创建out.text,把题目和答案存入

3. 代码规范

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

  • 第一条 代码的命名不规范向,这次写的代码命名就很不规范
  • 第二条 if/else if/.....使用必须用大括号
  • 第三条 采用四个空格缩进,不能使用tab键
  • 第四条 单行注释使用// ,多行注释使用/**/

五、测试

请思考并记录你认为必要的测试点,并记录测试用例与测试结果

  • 输入 7 ,2 ,输出在TXT中正确输出题目和答案
  • 输入6,2,1,输出参数不能大于2,不能为空
  • 输入7,-2 输出第二个参数错误

六、总结

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

  • 做这个前首先想好加减乘除每一个的简单算法
  • 写代码的格式很不规范,慢慢实践
  • 平时代码量少,这次的很多不理解的经过舍友的点播,理解了一些
  • 拿到项目前一定要先分析需求,构思大致方向

以上是关于MathExam的主要内容,如果未能解决你的问题,请参考以下文章

MathExam

MathExam

MathExam

MathExam

MathExam V2.0

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