20194591+自动生成四则运算题第一版报告
需求分析
使用C或Java语言完成一个自动生成四则运算试题的程序
自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内
剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式
题目数量可定制
相关参数可控制
是否包含乘法和除法
操作数数值范围可控(如操作数 在100以内 还是1000以内)
操作数是否含负数
生成的运算题存储到外部文件result.txt中。
功能设计
基本功能
题目数量可定制
相关参数可控制
可选择是否包含乘法和除法
可选择操作数数值范围
可选择操作数是否含负数
生成的运算题存储到外部文件result.txt中
扩展功能
无
设计实现
用户可控制题目个数,操作数范围,是否含负数,是否包含乘除
生成第一个操作数
确定符号
生成第二个操作数
计算结果
输出到result.txt
测试运行
此段代码我比较满意
'''java
//含有乘除法情况下选择第二个操作数
int b = (int)(Math.random()*fw+1);
//含有负数
if(zf==1) {
int p = (int)(Math.random()*2);
switch(p) {
case 0:
b=b*(-1);
System.out.print("("+b+")");break;
case 1:
System.out.print(b);break;
}
}
//不含负数
if(zf==0) {
System.out.print(b);
}
总结
模块化编程可采用以下步骤进行:
①分析问题,明确需要解决的任务;
②对任务进行逐步分解和细化,分成若干个子任务,每个子任务只完成部分完整功能,并且可以通过函数来实现;
③确定模块(函数)之间的调用关系;
④优化模块之间的调用关系;
⑤在主函数中进行调用实现。
尝试撰写psp
PSP | 任务内容 | 计划完成的时间 | 实际完成的时间 |
---|---|---|---|
设计 | 根据需求设计程序功能,实现方法 | 10min | 30min |
开发 | 编写程序 | 3h | 5h |
main | 实现所有功能 | 3h | 5h |