四则运算题目生成程序

a.需求分析

看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, ?, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 如 1/2, 5/12 等
    5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目

      Myapp.exe -n 10

b.功能设计

  • 基本功能 :生成表达式,运算结果,对比答案及题目重复查找

c.设计实现

MathStart  控制台的输入输出,将表达式写入文件,引用需要使用的类,将表达式的key存放入hashtable判重

Express     生成表达式,运算结果,判断表达式是否不符合要求,生成表达式的key。

Operator   运算符优先级定义,为Express运算结果提供帮助。

AnswerLogin   对比答案是否正确,可匹配小数,正整数,分数,带分数,若不是以上则输入失效,要求重新输入。

d.代码说明

num,oper随机生成。

括号一定在数字的左右两边,按左括号,数字,右括号,运算符的顺序加入表达式;

tranExp是将表达式转为后缀表达式,方便计算。

运算的过程代码短,行数多,简述一下,就是将后缀表达式中,取数字放入a数组中,遇到运算符取a中两个数,结果放回a中。像栈一样先进后出。

在后缀表达式中遇到‘+’或‘*’时,判断前面两个数值大小,将小的数放到前面。生成一个String的key。

缺陷,只能判断符号两边是数字的,不能判断符号边是表达式的如:(1+2)+(1/2)与(1/2)+(1+2)。

以上判定答案输入,根据正则表达式验证输入是否符合要求,符合则设置inputErr=false。当输入是小数时得到他的精度。分数精度为0.

最后进入Login,判定答案是否正确。

e.测试运行

6 repeat 9 即第7与第10重复。后面更改一下。

psp

PSP2.1 Personal Software Process Stages Time Senior Student Time
Planning 计划 20 20
Estimate 估计这个任务需要多少时间 5 5
Development 开发 4000 4000
Analysis 需求分析 (包括学习新技术) 20 10
Design Spec 生成设计文档 50 10
Design Review 设计复审 2 1
Coding Standard 代码规范 1 1
Design 具体设计 20 30
Coding 具体编码 4500 4700
Code Review 代码复审 10 8
Test 测试(自我测试,修改代码,提交修改) 50 120
Reporting 报告 60 120
  测试报告 24 45
  计算工作量 3 5
  并提出过程改进计划 8 10
时间: 2024-12-21 05:45:16

四则运算题目生成程序的相关文章

个人作业1——四则运算题目生成程序(基于控制台)

No.1 四则运算题目生成程序(基于控制台) 程序代码 需求分析: 能够根据用户自身对题目数量的需求自动生成一定数量的包含分数的四则运算题目的命令行程序. 功能设计: 除了整数以外,还要支持真分数的四则运算,真分数的运算 并且要求能处理用户的输入,并判断对错,打分统计正确率 要求能处理用户输入的真分数 使用 -n 参数控制生成题目的个数 设计实现: 程序是用c++实现的,主要有四个函数,主函数随机生成整数或者分数算法,divisor(int i, int j)计算最大公约数,zs为计算整数算法,

个人项目终极博客——四则运算题目生成程序分析

四则运算题目生成程序分析 13061184 马腾跃 一.时间分析 PSP2.1 Personal Software Process Stages Time Planning 计划   · Estimate ·估计这个任务需要多少时间 15h Development 开发 · Analysis ·需求分析(包括学习新技术) 2h · Design Spec ·生成设计文档 1h · Design Review ·设计复审(和同事审核设计文档) 0.5h · Coding Standard ·代码规

个人作业1——四则运算题目生成程序

一.题目描述: 实践能力的提高当然就是得多动手了,那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序. 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: (以下参考博客链接:http://www.cnblogs.com/jiel/p/4810756.html 1. 使用 -n 参数控制生成题目的个数,例

四则运算题目生成程序(基于控制台)

题目描述: 能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24 运算符为 +, ?, ×, ÷ 并且要求能处理用户的输入,并判断对错,打分统计正确率 要求能处理用户输入的真分数, 如 1/2, 5/12 等 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目 功能设计: 1.  通过随机数的生成,实现+, ?, ×, ÷的确定 2.  +, ?, ×, ÷分别赋予整

个人项目——四则运算题目生成程序

任务:实现一个自动生成小学四则运算题目的命令行程序. 1)PSP表格记录 PSP2.1 Personal Software Process Stages 估计 实际 Planning 计划 · Estimate · 估计这个任务需要多少时间 21h 29h Development 开发 · Analysis · 需求分析 (包括学习新技术) 1h 3h · Design Spec · 生成设计文档 0.5h 0.5 · Design Review · 设计复审 (和同事审核设计文档) 0 0 ·

四则运算题目生成程序分析

PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 20h Development 开发 · Analysis · 需求分析 (包括学习新技术) 5h · Design Spec · 生成设计文档 2h · Design Review · 设计复审 (和同事审核设计文档) 1h · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1h · Design

第1次作业------四则运算题目生成程序(基于控制台)

https://git.coding.net/YelCong/Soft.git 需求分析 1. 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 -o Exercise.txt 将生成10个题目. 2. 使用 -r 参数控制题目中数值(自然数.真分数和真分数分母)的范围,例如 Myapp.exe -r 10 将生成10以内(不包括10)的四则运算题目.该参数可以设置为1或其他自然数.该参数必须给定,否则程序报错并给出帮助信息. 3. 生成的题目中如果存在形如e1 ÷ e2

个人作业-四则运算题目生成程序(基于控制台)

代码:四则运算 一.题目描述: 1. 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 -o Exercise.txt 将生成10个题目. 2. 使用 -r 参数控制题目中数值(自然数.真分数和真分数分母)的范围,例如 Myapp.exe -r 10 将生成10以内(不包括10)的四则运算题目.该参数可以设置为1或其他自然数.该参数必须给定,否则程序报错并给出帮助信息. 3. 生成的题目中如果存在形如e1 ÷ e2的子表达式,那么其结果应是真分数. 4. 每道题目中出现的

个人作业1——四则运算题目生成程序(基于安卓)

一.题目描述: 实践能力的提高当然就是得多动手了,那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序. 从<构建之法>第一章的 "程序" 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 "软件",满足以下需求: 1. 使用intent传参数控制生成题目的个数 2. 使用 intent传递 参数控制题目中数值(自然数.真分数和真分数分母)的范围 3. 生成的题目