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


    源码在Github的仓库主页链接地址:https://github.com/mashifang/-.git

           1.需求分析:软件着眼于实际, 能够自动生成定量的四则运算题目供小学练习,用于辅助训练小学生熟练掌握整数的四则运算, 既提高学生学习效率也方便老师和学生家长对其学习情况的了解.

            2.功能设计: 

           软件基本功能要求如下:

    • 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。
    • 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
    • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt中,不要输出额外信息,文件目录与程序目录一致。
    • 当程序接收的参数为4时,以下为输出文件示例。

           软件附加功能要求:
    • 支持有括号的运算式,包括出题与求解正确答案。注意,算式中存在的括号必须大于2个,且不得超过运算符的个数。
    • 扩展程序功能支持真分数的出题与运算,例如:1/6 + 1/8 + 2/3= 23/24。注意在实现本功能时,需支持运算时分数的自动化简,比如 1/2+1/6=2/3,而非4/6。

           3.设计实现:

                 设计了一个主类(Ma),设计了random函数,使用java.lang.Math的random方法生成随机数。

            4测试运行:

            5.核心代码:

     public static void main(String[] args)
         {
             String a,b;
             int k;
             Ma Ma=new Ma();
             for(int n=0;n<30;n++)
             {
                 a=Ma.f();
                 b=Ma.f();
                 int i=(int)(Math.random()*100);
                 int j=(int)(Math.random()*100);
                 switch((int)(Math.random()*4))
                 {
                 case 0:
                   k=(int)(Math.random()*3);
                     if(k==0)
                        System.out.println(i+"+"+j+"=");
                     else if(k==1)
                        System.out.println(a+"+"+j+"=");
                     else if(k==2)
                           System.out.println(b+"+"+a+"=");
                    break;

     

    6.展示PSP,这个环节重要的是让自己看到自己的估计和实际消耗时间,哪个环节耗时最多,哪个环节估计和实践相差巨大?为什么?

    1.  

      PSP2.1

      任务内容

      计划完成需要的时间(h)

      实际完成需要的时间(h)

      Planning

      计划

      3

      4

      ·       Estimate

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

      8

      6

      Development

      开发

      5

      6

      ··       Analysis

        需求分析 (包括学习新技术)

      6

      7

      ·       Design Spec

      ·  生成设计文档

      3

      4

      ·       Design Review

      ·  设计复审 (和同事审核设计文档)

      3

      4

      ·       Coding Standard

        代码规范 (为目前的开发制定合适的规范)

      5

      7

      ·       Design

        具体设计

      7

      8

      ·       Coding

        具体编码

      8

      10

      ·       Code Review

      ·  代码复审

      4

      5

      ·       Test

      ·  测试(自我测试,修改代码,提交修改)

      5

      6

      Reporting

      报告

      3

      4

      ··       Test Report

      ·  测试报告

      3

      2

      ·       Size Measurement

        计算工作量

      2

      1

      ·       Postmortem & Process Improvement Plan

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

      3

      3

       2.从PSP展示结果分析来看,我在软件初期设计和代码设计阶段耗时较多,在做的过程中也感到比较吃力,具体原因可能要归结于长期未用Java语言编写设计程序,再加上初学之时,学的不够扎实,暴露了很多编程短板,也导致了这次作业中许多不可忽视的问题。

    7.总结与反思

         这次作业总的来说要反思的比总结的要多。老实说,由于Java编程功底很弱,这次作业拖了较长时间,很不应该。在作业完成过程中,我实现了随机生成四则运算的算式,以及带()的运算,但没有自动生成运算结果,也未能设计出参数N,总体而言,完成的极不理想,但相比之下,付出了一定的努力,我也正在努力补救,重新学习Java语言编程,下次作业我会完成的更好一点,出色一点,希望老师包容一点,等待一下,我会尽最大努力补救。

  • 相关阅读:
    SQL语句的执行顺序
    凭兴趣求职80%会失败,为什么
    Google Analytics:为链接点击设定事件追踪的方法
    org/hamcrest/SelfDescribing
    Idea使用记录--添加Problems&&解决Autowired报错could not autowire
    RBAC(Role-Based Access Control)基于角色的访问控制
    如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?
    记录使用Hibernate查询bean中字段和数据库列类型不匹配问题
    Java添加自定义注解
    JS获取select的值
  • 原文地址:https://www.cnblogs.com/nwnu-MSF/p/8621952.html
Copyright © 2020-2023  润新知