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


    仓库地址:https://git.coding.net/Mr_hat/mao1.git

    修改后的仓库地址:https://git.coding.net/Mr_hat/mao1.git

    正文:

    1.需求分析

      1.程序可接收一个输入参数n,然后随机产生n道加减乘除练习题

      2.每个数字在 0 和 100 之间

      3.运算符在3个到5个之间,且每个练习题至少要包含2种运算符

      4.练习题在运算过程中不得出现负数与非整数

      5.学号与生成的练习题及对应答案要输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致

    2.功能设计

      1.基本功能:根据用户输入的参数n自动生成n道符合需求的的练习题,并自动生成答案,并将式子与答案传输到特定文件当中

      2.扩展功能:由于本人的技术不是很扎实,所以扩展功能目前还没法实现,但是一定会继续学习实现这个功能的

    3.设计实现

      我一共建了三个类,分别是Main、Question、Transport,功能如下:

      Main类:用于接收用户给出的参数n,调用Question类

      Question类:用于生成练习题并计算出每道练习题的答案,调用Transport类

      Transport类:供Question类调用,将学号与练习题输出到指定文件中

      三类关系:

      

      首先我使用math.random函数生成随机数,由于需求规定,我将随机数定义为正整数输出,之后我直接调用js的eval函数,更加快捷的算出了练习题的答案并输出。

    4.算法详解

      拿到题目之后我百度查询了一下要用到哪些方法,无意间发现了用js能够更加简单的解决这个问题,没有用到调度场算法和逆波兰表达式,所以并没有具体的算法详解

    5.测试运行

              先在eclipse中运行并给参数赋值30

         

                 打开result文件,显示了学号和30道练习题

              

    6.代码展示

     获取参数并调用Question类生成练习题

    public class Main {
        @SuppressWarnings("resource")
        public static void main(String[] args) throws ScriptException{
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入题目的个数
    ");
            int n=sc.nextInt();
            new Question(n);
        }
    }
        //实例化
        private void init(){
            random=new Random();
            ar=new ArrayList<String>();
            manager = new ScriptEngineManager();
            se = manager.getEngineByName("js");
        }
    //生成随机题库并给出答案并输出
        private void ques() throws ScriptException{
            String qu = null;
            for(int i=0;i<n;i++){
                qu="";
                int time=t();
                for(int j=0;j<time;j++){
                    qu=qu+ti();
                    if(j<time-1){
                        qu=qu+type(ope());
                    }
                }
                
                double result=Double.valueOf(se.eval(qu.toString()).toString()) ;
                if(result%1!=0 || result<0 || result>400){
                    i--;
                    continue;
                }
                ar.add(qu);            
            }
            wtf=new Transport("result.txt", ar, n);//输出
            
        }
    //生成运算符
        private String type(int n){
            if(n==0){
                return "+";
            }else if(n==1){
                return "-";
            }else if(n==2){
                return "*";
            }else{
                return "/";
            }
        }

    7.总结

      说实话,这次的作业量和作业难度的确有点重,不过作业还是得写,这两周不断的百度查资料,可是这次作业还是有很大的不足,也正是因为这次的作业让我意识到自己和别的同学的差距有多大,也意识到自己当初没有好好学语言是多么的错误,既来之则安之,只能从现在开始恶补,不然这个差距不止不会改变甚至会越来越大。不过说实话,上两次作业的成绩一出,心里还是挺失落的,如果说第一次作业是没有看清楚作业要求导致分数偏低,不过第二次作业真的是认真看了要求,花了很长时间去写,但是看到分数之后还是挺失落的,后来静下来想想,众口难调,只要自己在学习过程中真正学到了东西,那就足够了。

    8.PSP

    PSP2.1

    任务内容

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

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

    Planning

    计划

    5

    4

    ·        Estimate

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

    5

    4

    Development

    开发

    13

    14

    ·        Analysis

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

    0.5

    0.5

    ·        Design Spec

    ·         生成设计文档

    1

    1

    ·        Design Review

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

    1.5

    2

    ·        Coding Standard

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

    1

    1.5

    ·        Design

    ·         具体设计

    2

    2

    ·        Coding

    ·         具体编码

    4

    5

    ·        Code Review

    ·         代码复审

    1

    0.5

    ·        Test

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

    2

    1.5

    Reporting

    报告

    3.5

    2.5

    ·         Test Report

    ·         测试报告

    2

    1

    ·         Size Measurement

    ·         计算工作量

    1

    1

    ·         Postmortem & Process Improvement Plan

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

    0.5

    0.5

  • 相关阅读:
    初学者bootstrap(五)JavaScript插件(上)在路上(6)
    初学者bootstrap(三)下载与安装在路上(7)
    Viewport响应式 Web 设计在路上(13)
    初学者动画(一)在路上(3)
    svn添加强制注释,precommit结合python
    ftpclient卡死问题
    @Transactional失效的问题
    javamail发送二进制流附件的问题
    springmvc附件上传核心代码
    kafka集群配置与测试
  • 原文地址:https://www.cnblogs.com/mzj666/p/8642484.html
Copyright © 2020-2023  润新知