自动生成四则运算-计应192 张文杰

需求分析:

通过程序接受一个数字,产生N道加减乘除练习题。

判断传入参数是否合法

每个数字在0-100之间,运算符3-5个

运算过程不能出现负数和非整数

计算练习题

所有信息输出到txt文件

功能设计:

编写主函数

编写输入是否合法函数

随机生成运算式

编写计算运算式函数

结果写入txt辅助类

设计实现:

编写主函数并通过命令行接收参数

判断传入参数是否合法

随机选择加减乘除运算符

根据产生运算符的个数生成一定运算数的运算式并存入List集合

当随机产生的运算符是“/”时,判断被除数是否能整除除数,如果不能,随机产生能够被整除的除数。

遍历List集合通过函数计算集合中每个运算式的结果

编写写入txt文件函数

随机产生num个运算式,并将产生的运算式存入List集合

 

当被除数不能整除除数时,随机生成能够整除的除数

 

通过javascript的eval函数计算字符串内的运算式

 

总结:

本程序的主要难点在于运算式的随机生成和运算式的计算,后者借助于Javascript的eval函数通过求解字符串内的运算式得到解决,编程重点解决随机生成运算式部分

psp

PSP 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
  计划 10 12
Estimate 需求分析,函数实现 10 10
  开发 30 30
Analysis 需求分析 5 10
Design Spec 设计 5 5
Design Review 设计复审 2 2
Design 具体设计 5 5
Coding 具体编码 20 20
Code Review 代码复审,查找语法错误 2 2
Test 测试 5 5
  报告 10 10
Test Report 经测试,程序编译正确,运行结果正确,完全符合要求 2 2
Size Measurement 由于程序功能较为简单,需求分析的工作量很小,故本次实验的主要工作主要在于编程 2 2
Postmortem 对于此程序,计算部分还有大的改进空间,可以采用将中缀表达式转换为后缀表达式,通过正则判断运算符优先级来实现算式的结果,而不是另辟他法调用Javascript函数 2 2
posted @ 2021-04-11 17:38  本性使然  阅读(51)  评论(0)    收藏  举报