2017-2018-2 20172315 『Java程序设计』课程 结对编程练习_四则运算

自动题目生成与解析系统
本文介绍了一个自动题目生成及解答验证系统的设计与实现。该系统可以生成不同难度级别的数学题目,支持分数运算,并能够将中缀表达式转换为后缀表达式进行计算,同时还考虑了题目去重的问题。

结对人员

  • 20172315胡智韬:中缀转后缀及对后缀表达式的计算
  • 20172312彭霖:分式相关的程序及解决细小问题
  • 20172318陆大岳:题目生成及驱动类的编译

    需求分析

目标

1.自动生成题目

可独立使用(能实现自己编写测试类单独生成题目的功能)

可生成不同等级题目,类似于:

1级题目:2 + 5 =;
10 - 5 =
之类的两个数,一个运算符的题目

2.题目运算(判题)

可独立使用

实现中缀表达式转为后缀表达式并计算

判断用户答题正误,并输出正确结果

3.支持真分数

可独立使用

实现分数算式的计算

3.题目去重(扩展需求,加分项)

可独立使用

实现对自动生成表达式的去重:如下

若生成:2 + 5 =;
5 + 2 =
为同一题目

分析

  • 需要设计个空的栈,依靠栈进行中缀转后缀及后缀的计算
  • 需要一个类来生成题目,类中要有题目分级的方法
  • 需要分数相关方法,实现分式的计算
  • 需要一个驱动类来实现以上所有功能

    后续拓展

  • 对于分数还没有彻底实现,下周补上
  • 对于题目去重还未实现,下周补上

    设计思路

  • 首先编译个StringToArithmetic类,实现中缀转后缀及对其进行计算
  • 再创建分数类,实现分数的计算
  • 再创建题目生成类,分等级随机生成题目
  • 最后创建主类,实现用户作答,判断对错等功能

    遇到的困难及解决办法

  • 关于去重的问题,这个功能的实现我们组研究了很长的时间,还没有得出一个确切的方法。不过,我相信这个问题将会在下周得以解决。
  • 关于判断题目的正确率出现了一些小问题
    1333139-20180501233825599-879923369.png
    经过组内讨论后,得出了解决方案,如下图
    1333139-20180501234010013-854570596.png

UML

1333139-20180503002303015-1501374591.png

PSP

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划5575
Estimate估计这个任务需要多少时间35
Development开发24003000
Analysis需求分析 (包括学习新技术)300360
Coding Standard代码规范 (为目前的开发制定合适的规范)3015
Design UML设计项目UML类图60120
Coding具体编码20002400
Code Review代码复审3040
Test测试(自我测试,修改代码,提交修改)240300
Size Measurement计算工作量(实际时间 )55
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划3060
合计51536380

转载于:https://www.cnblogs.com/huzhitao/p/8977968.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值