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

posted on 2019-09-16 20:13  马喜龙  阅读(158)  评论(2)    收藏  举报