本资料来自于资源最齐全的21世纪教育网www.21cnjy.com
用穷举法解决问题的基本思路
教学设计
1教学目标
知识与技能:
⑴了解穷举法的基本概念及用穷举法设计算法的基本过程。
⑵分析建立正确的数学模型,归纳穷举法穷举技巧。
过程与方法:
⑴经历用穷举法求解问题的基本过程。
⑵能通过实际问题的分析、求解过程,尝试归纳出利用穷举法解决问题的思路和方法。
情感态度与价值观:
⑴引导学生关注穷举法在社会生活中的应用,进一步提高利用信息技术解决实际问题的能力。
⑵通过小组讨论与探究活动,提高团队合作能力,促进探究的热情
2学情分析
本节内容的教学对象是高二年级学生,他们已经具备了一定的逻辑思维、分析问题、表达思想等能力。同时,通过前几个章节的学习与实践,学生已经历了用计算机解决问题的过程与步骤,学会了对计算机程序进行调试,并掌握了顺序、循环、条件三种程序结构,为本节内容的学习提供了良好的基础。前一节的学习,学生掌握了如何用解析法设计程序,但现实生活中也有很多问题往往无法用解析法找到答案,这时就需要使用计算机来帮助我们逐个列举出可能的情况,从而引出本课内容
——
“穷举法”。21世纪教育网版权所有
3重点难点
教学重点:
用穷举法解题的基本思路和过程。
教学难点:
分析问题,建立数学模型,构造算法。
4教学活动
活动1【导入】提出:“百钱百鸡”问题
创设情景,提出:“百钱百鸡”问题让学生思考答案。
百元买百鸡:用一百元钱买一百只鸡。已知公鸡5元/只,母鸡3元/只,小鸡1元/3只。
活动2【讲授】分析问题
分析:
这是个不定方程——三元一次方程组问题(三个变量,两个方程)
x+y+z=100
5x+3y+z/3=100
设公鸡为x只,母鸡为y只,小鸡为z只。
请思考这道题目能否只用解析法就能解决?为什么会有不同有解 这些解对不对 是怎么得出这些解的
活动3【讲授】归纳导入“穷举法”概念
归纳导入“穷举法”概念:像上面求解“百钱百鸡”问题时,列出所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的解答,就叫穷举法,也叫枚举法
穷举法的实现:请思考在计算机中是怎样求解“百钱百鸡”问题的?
1、问题求解时可能的搜索范围(所有鸡的数目是在0-100之间),利用嵌套循环结构实现
2、问题求解满足的条件:所有鸡的数目之和是100
所花钱数是100
活动4【活动】让学生编程实现问题求解
让学生自己动手实践,编程实现“百钱百鸡”问题的求解
附代码一:
Private
Sub
Command1_Click()
Dim
a,
b,
c
As
Integer
Print
"公鸡",
"母鸡",
"小鸡"
For
a
=
0
To
100
For
b
=
0
To
100
c
=
100
-
a
-
b
If
a
5
+
b
3
+
c
/
3
=
100
Then
Print
a,
b,
c
End
If
Next
b
Next
a
End
Sub
代码二:
Private
Sub
Command1_Click()
Dim
a,
b,
c
As
Integer
Print
"公鸡",
"母鸡",
"小鸡"
For
a
=
0
To
20
For
b
=
0
To
34
c
=
100
-
a
-
b
If
a
5
+
b
3
+
c
/
3
=
100
Then
Print
a,
b,
c
End
If
Next
b
Next
a
End
Sub
活动5【练习】总结经验,拓展学习
总结经验,拓展学习:请学生求解韩信点兵问题(假
设士兵的数目在100到1000之间)
附原程序代码
Private
Sub
Command1_Click()
Dim
i
As
Integer
For
i=
100
To
1000
If
i
mod
3
=2
and
i
mod
5
=3
and
i
mod
7
=3
Then
Print
"该队官兵数可能为:"
&
i
End
If
Next
i
End
Sub
21世纪教育网
--
中国最大型、最专业的中小学教育资源门户网站。
版权所有@21世纪教育网