ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PSP四则运算

2021-09-21 17:36:55  阅读:198  来源: 互联网

标签:add2 strs 四则运算 Number Answer var PSP Math


个人PSP(四则运算)

  1. 题目要求:能自动生成小学四则运算题目,且每一道题目的运算结果不能为负。除了支持整数运算外,还要支持真分数四则运算。

  2. 工具清单

    • Java,Js,Maven,Tomcat,MySQL
  3. PSP表格

    预计耗时(分钟) 实际耗时(分钟)
    Planning 计划 20 20
    Estimate 估计这个任务需要多少时间 5 5
    Development 开发 80 90
    Analysis 需求分析 10 10
    Design Spec 生成设计文档 / /
    Design Review 设计复审(和同事审核设计文档) / /
    Coding Standerd 代码规范(为目前的开发制定合适的规范) / /
    Design 具体设计 30 30
    Coding 具体编码 100 100
    Code Review 代码复审 10 15
    Text 测试(自测,修改代码,提交修改) 20 20
    Reporting 报告 20 20
    Text Report 测试报告 10 10
    Size Measurement 计算工作量 5 5
    Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 5 5
    Sum 合计 305 330
  4. 项目描述

    web端实现注册,登录,登录后主界面及四则运算页面。用原生态Servlet与前端进行交互,以Tomcat作为服务端,MySQL对玩家成绩信息进行展示和存储。

  5. 主要代码说明

    • 生成题目

      for(var i = 0;i < oContent.length;i++){
          Answer[i].style.backgroundColor = "white";
          Answer[i].value = " "
          var add1 = parseInt(Math.random()*100)+1
          var add2 = parseInt(Math.random()*100)+1
          var ope = Math.round(Math.random())
          var ope1 = Math.round(Math.random())
          strs = oContent[i].innerHTML.split(" ")
          if(ope == 0 && ope1 ==0){
              strs[1] = "+"
          }
          if(ope == 1 && ope1 ==0){
              strs[1] = "-"
          }
          if (ope == 0 && ope1 ==1){
              strs[1] = "*"
          }
          if (ope == 1 && ope1 ==1){
              strs[1] = "/"
          }
          strs[0] = add1
          strs[2] = add2
          strs[3] = "="
          oContent[i].innerText = strs[0]+" "+strs[1]+" "+strs[2]+" "+strs[3]+" "+strs[4]+" "
      }
      
    • 校验答案

      oBt1.onclick = function(){
          var count = 0
          for(var i = 0;i < oContent.length;i++){
              strs = oContent[i].innerHTML.split(" ")
              Ans = Answer[i].value
              var add1 = strs[0]
              var operator = strs[1]
              var add2 = strs[2]
              if(operator == "+"){
                  if(Number(add1) + Number(add2) == Number(Ans)){
                      count++;
                  }else{
                      Answer[i].style.backgroundColor = "red";
                  }
              }
              if(operator == "-"){
                  if(Number(add1) - Number(add2) == Number(Ans)){
                      count++;
                  }else{
                      Answer[i].style.backgroundColor = "red";
                  }
              }
              if(operator == "*"){
                  if(Number(add1) * Number(add2) == Number(Ans)){
                      count++;
                  }else{
                      Answer[i].style.backgroundColor = "red";
                  }
              }
              if(operator == "/"){
                  if(Math.round(Number(add1) / Number(add2)) == Math.round(Ans)){
                      count++;
                  }else{
                      Answer[i].style.backgroundColor = "red";
                  }
              }
          }
      }
      
    • 其他相关代码

  6. 整体流程说明

    • 登陆界面

    • 注册界面

    • 主界面

      通过统计Session个数,对半小时内在线人数进行统计

    • 四则运算界面

      • 网页端会记录玩家的答题秒数,写入数据库中进行存储
  7. 项目相关不足

    • 题目的生成机制较为单一,只有简单的A [运算符] B的形式,在题目形式上可以加以改进

    • 记录玩家数据并存入MySQL相关代码较为冗余,对SQL语句可进行优化

标签:add2,strs,四则运算,Number,Answer,var,PSP,Math
来源: https://www.cnblogs.com/yuutmoo/p/15317007.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有