《用穷举法解决问题》教学设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《用穷举法解决问题》教学设计
江苏省新沂市第一中学张奉华(221400)
一、教材分析与教法:
首先,我校选择《算法与程序设计》这本教材,对相当一部分学生来说,还是比较难和比较枯燥的。因此,我在教学中,一直尽量使用趣味性程序等手段,贴近学生生活,将课堂的气氛调动得活跃起来,并可培养学生对这门课的兴趣。
穷举法是算法中比较常见,日常运用很多的一种。在课本和学业水平考试中都作为一个重要的部分出现。经典问题有水仙花数、搬砖问题、鸡兔同笼等。课本在介绍穷举法时用的例子是一个相对复杂的演讲比赛分组的问题。我个人认为,这样的一个引入部分不适合我们的学生,一是学生不是很感兴趣,二是比较复杂。
其次,在课本第三章,我的教学方法借鉴了数学课的教法:从简单问题详细剖析,推出一般情况,得到结论(算法理论),再从理论推展开区,再解决其他问题。
根据我校学生的特点,我选择了一个反暴力破解的例子引入,要反暴力破截,就必须了解它的原理。首先让学生自己来尝试暴力破解一个密码。这样,学生马上就能体会到什么叫穷举。从简单破解2位数,到学生无法简单破解5位数的密码,自然引出这样单一的重复的过程可以由计算机来解决。了解了暴力破解的原理,我们也就了解了穷举法的原理、特点。
了解原理后,我使用两个例题让学生练习,以便理解、运用穷举法。1、水仙花数。属于趣味数学,这个话题很能引起学生的兴趣(该问题类似鸡兔同笼)。2、“搬砖”问题。
通过这两个问题,由简单到复杂,学生便可基本掌握穷举法的应用。
二、教学目标
1.知识与技能
⑴理解用穷举法设计程序的基本思路。
⑵分析建立正确的数学模型,归纳穷举法穷举技巧(变量的设置、穷举方案的确定)。
2.过程与方法
⑴经历用穷举法求解问题的基本过程。
⑵在学习过程中,发现穷举法的规律,并把它运用实际问题的解决中去。
3.情感态度与价值观
⑴通过学习穷举法,体会“信息技术是双刃剑”的含义,树立正确使用信息技术的道德观,并形成反思的意识。
⑵引导学生关注穷举法在社会生活中的应用,激发学生学习的热情。
三、教学重点与难点
教学重点:⑴建立正确的数学模型,确定穷举方案。
⑵根据命题确定变量的取值范围。
⑶正确表达“符合条件”的判断。
教学难点:⑴恰当安排穷举的方式,使得算法的效率更高。
⑵如何评价各种穷举策略的优劣。
四、课时安排:1课时。
五、教学过程:(见下页)
本节课由暴力破截的小游戏开头,学生立即投入进来,迅速接受穷举法的概念和关键技术点,这都符合我备课的预想。
难度适中,过渡自然,逐步推进是本节课比较成功的地方。在教学中,学生有激情,有思考,有实践,有成功,跌宕生趣,下课时意犹未尽,恋恋不舍。
发送半成品作品让学生完善也是本节课的一个特色。有时如果每个程序的每一步骤都让学生完成,效率太低,而发送半成品,可以达到事半功倍的效果。
总体而言,这节课基本上符合我事先备课的预想。但是,也有一定的问题,由于学生的两极分化比较明显,我带的班级既有理科的实验班,又有学史政的平衡班,史政治平衡班的学生感觉拿到题目,尽管已经知道算法思想,依然无法下手怎么样将这几名同学也能在课堂上编出一段程序来,也就是,怎样将题目设置的阶梯性更强些,基础题再基础些,以后在备课中要多注意。附:
1、五位自然数密码破解程序:
Private Sub Command1_Click()
a = Val(Text1.Text)
For i = 100000 To 99999
If a=i Then
Text2.Text = Str(i)
End If
Next I
End Sub
2、“搬砖”问题半成品程序:
Private Sub Command1_Click()
Dim a, b, c As Integer
For a = To
For b = To 12
For c = To step
If And Then
Print "男:"; a; "女:"; b; "小孩:"; c
End If
Next c
Next b
Next a
End Sub
3、水仙花数半成品程序:
Dim x, y, z As Integer
For x = __ To 9
For y = __ To 9
For z = __To 9
If ______________ = x ^ 3 + y ^ 3 + z ^ 3 Then
Print x ; y ; z
End If
Next z
Next y
Next x