一、需求分析

现在的小学生数学算术能力很差,老师想要每天都随机出10道100以内的2个操作数的四则运算算式,不可以重复,让我们来实现它,提高孩子们的数学成绩。

二、功能设计

基本功能:

使用C或Java语言完成一个自动生成四则运算试题的程序。

拓展功能:

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内

(2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

是否包含乘法和除法

操作数数值范围可控(如操作数 在100以内 还是1000以内)

操作数是否含负数    

(5)生成的运算题存储到外部文件result.txt中

三、设计实现

使用java实现四则运算

四、测试运行

五、代码片段

static void WH(HashSet<String> hashSet) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入题目数量:");
		int s = scanner.nextInt();
		System.out.println("请选择是否包含乘除法,0是,1否");
		int flag = scanner.nextInt();
		System.out.println("请选择是否包含负数,0是,1否");
		int f = scanner.nextInt();
		System.out.println("请输入操作数范围:");	
		int shu = scanner.nextInt();
		RANDOM(shu);
		int ly = 0;
	if (flag == 0) {//判断是否包含乘除法。
		ly = 4;
		
	}
	else if (flag == 1) {
		ly = 2;
		
	}
	SHI(shu,ly);
	SYMBOL(ly);
	for (int i = 0;; i++) {
		if (hashSet.size() == s) {
			break;
		}
		hashSet.add(gg(shu,ly));

	}
}
	
	static String SHI(int shu,int flag) {//十以内的加减乘除
		int a = RANDOM(shu);
		char b = SYMBOL(flag);
		int c = RANDOM(shu);
		String str = a + " " + b + " " + c + " = " + SUAN(a, b, c);	
		return str;
	}

六、总结

代码过于简单,仅仅能实现功能。完成时间过长还有很多不熟,不会语句,接下来会好好熟悉,掌握,学习更多程序代码。

七、PSP

PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 60 40
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 200 240
Development 开发 30 22
Analysis 需求分析 (包括学习新技术) 20 10
Design Spec 生成设计文档 12 12
Design Review 设计复审 (和同事审核设计文档) 20 25
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 25
Design 具体设计 20 20
Coding 具体编码 80 72
Code Review 代码复审 15 12
Test 测试(自我测试,修改代码,提交修改) 10 8
Reporting 报告 30 25
Test Report 测试报告 12 8
Size Measurement 计算工作量 15 9
Postmortem & Process Improvement Plan 事后总结 ,并提出过程改进计划 20 10
posted on 2019-09-16 21:54  王欢吖  阅读(134)  评论(0编辑  收藏  举报