需求分析
使用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|