zoukankan      html  css  js  c++  java
  • 2016012039 + 小学四则运算练习软件项目报告

    仓库地址:https://git.coding.net/zhangq896/week2-2.git

    一、需求分析

    (1)  随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间

    (2)输入:随机产生n道练习题

    (2)包含至少两种运算符(判断优先级)(递归算法)

    (3)输出:学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中

             注意:运算过程不许出现负数、分数

    二、功能设计

          输入:整数n(n道算术题)

          输出:自己的学号以及生成的n道练习题以及对应的正确答案——存于“result.txt”中

          实现:(1)至少两种运算符

                    (2)数字0至100,运算符3至五个

    三、设计实现

     (1)获取表达式:public  static String fun();

     (2)   获取因子:public static int getYin(int a);(除法中运用)

     (3) 四则混合运算:public static float opt(Stirng s);(递归算法)

     (4)主函数

    四、算法详情

    (1)获取表达式:首先任意生成0至100的整数int a=(int)(Math.random()*101); 存入表达式字符str中,然后将运算符进行抽选char f=fu[(int) (Math.random()*4)];

            形成简单的表达式 str.

     (2)四则混合运算:使用了逆波兰表达式来判断运算符的优先级

       (3)主函数中生成n道算术。先获取所有的运算符,放进set中重复。set里的大小就是不同运算符的个数。

    五、总结

        在这个项目中,主要的难点有判断优先级运用了逆波兰表达式,还有其中判断至少有两个运算符的表达式使用到的set。这两点对于我来说是比较新的知识。但是有点缺憾的是我并没有写出附加题的部分。我只能在课下的时候借鉴一下其它同学的代码。总的来说,我对于自己这一次的作业很是满意,虽然没有做到最好,附加题也没有做出,但是这一次我做出了巨大的努力,希望以后还可以自学一些有用的知识,这比老师教授的更令自己满足。

    六、部分代码展示

        逆波兰表达式

    七、PSP

    PSP

    任务内容

    计划时间(min)

    完成时间(min)

    Planning

    计划

    30

    20

     Estimate

     估计这个任务需要多少时间,并规划大致工作步骤

    40

    36

    Development

    开发

    700

    2200

    Analysis

    需求分析

    15

    25

    Design Spec

    生成文档

    0

    0

     Design Review

    设计复审

    0

    0

    Coding Standard

    代码规范

    10

    7

    Design

    具体设计

    90

    180

    Coding

    具体编码

    300

    900

    Code Review

    代码复审

    50

    700

    Test

    测试

    5

    80

    Reporting

    报告

    180

    450

    Test Report

    测试报告

    200

    390

    Size Measurement

    计算工作量

    5

    10

    Postmortem & Process Improvement Plan

    事后总结, 并提出过程改进计划

    20

    15

    八、测试

     

    
    
    
    
    

          

  • 相关阅读:
    爬取网页图片
    python 猜数字游戏
    位移运算
    生成随机的名字
    不截半个汉字
    一致性hash的实现
    安装前端脚手架
    什么是快速排序?
    HTML5有趣的标签
    stopPropagation / stopImmediatePropagation
  • 原文地址:https://www.cnblogs.com/zhangq896/p/8645843.html
Copyright © 2011-2022 走看看