实用的枚举算法教案.docx

上传人:sk****8 文档编号:2213764 上传时间:2019-05-02 格式:DOCX 页数:4 大小:59.42KB
下载 相关 举报
实用的枚举算法教案.docx_第1页
第1页 / 共4页
实用的枚举算法教案.docx_第2页
第2页 / 共4页
实用的枚举算法教案.docx_第3页
第3页 / 共4页
实用的枚举算法教案.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实用的枚举算法教案上课时间:2016.4.29 班级:技术 1 班 授课教师:徐飞翔一、教学目标:1、知识与技能:(1)理解枚举算法的概念。(2)通过枚举算法,理解循环中嵌套分支的结构特点,执行过程。(3)在理解流程图的基础上,初步实现 VB 代码的编写,并上机用 VB 语言实现程序的功能。2、过程与方法:(1)培养同学自主探索研究、解决问题的能力。(2)能通过实际问题的分析、求解过程,尝试归纳出利用枚举算法解决问题的思路和方法。(3)培养同学用计算机程序解决问题的思维能力。3、情感态度与价值观:(1)通过解决任务,培养同学勇于尝试,不怕困难的精神。(2)积极参与、主动探究;合作学习,体验成功

2、。二、教学设计思想:学科教学指导意见中对枚举算法的教学目标是使学生能了解枚举算法的概念,并用枚举算法来解决实际问题。根据这两次信息技术选考考试的难度,此课例不要求同学独立地画出流程图,而仅要求学生在理解枚举算法设计思想的基础上,读懂循环中嵌套分支的流程图,并完成主程序关键处的选择或填空(其中填空比选择对学生思维的要求又高一些) 。三、学情分析:通过前几个章节的学习与实践,VB 中几个相关的函数已经讲解并上机实践过了,对于 3 种基本控制结构大部分同学已理解,对于用流程图描述算法也非常熟悉,VB 上机操作已有一定的实践,为本节内容的学习提供了良好的基础。对于简单的程序段也有一定的认知意识,那么在

3、本课中学生会觉得设计思想比较容易掌握。困难之处在于如何将题目的设计思想转化为流程图,根据流程图写出相应的代码,并通过自己编制程序上机实践来体验。那么在课堂分析过程中学生将从听课-理解-体验-探究,这些过程中全面掌握枚举算法的设计思想,并能用此算法来解决日常生活问题及与其他学科有所关联的一些简单问题。四、 教学重点:理解枚举算法的概念和基本特征。五、教学难点:a)熟练掌握循环结构、分支结构的嵌套使用。b)枚举算法思想的理解与实现(流程图转化为 VB 代码并上机实践) 。六、教学准备:计算机机房、教学课件(枚举算法.ppt)七、 教学过程:(一)新课导入小明不小心把寝室门钥匙丢了,他去寝室管理员那

4、里去找钥匙开门。寝室管理员那里总共有 100 把钥匙,其中配套的钥匙有若干把,但钥匙上只有 1 到 100 的编号没有寝室编号,请问小明如何才能找出能开自己寝室门的所有钥匙?设计算法画出流程图。(二)学习新课1.枚举算法:按问题本题的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,就采纳这个解,否则就抛弃它。例题 1:使用枚举算法解决问题,在列举问题可能解的过程中做到( )A.不能遗漏,但可以重复B.不能遗漏,也不应该重复C.可以遗漏,但不应该重复D.可以遗漏,也可以重复例题 2:鸡兔共笼问题,若有腿共 60 条,问鸡、兔各有多少只?下面鸡和兔

5、只数最合理的范围是( ) 。 (范围确定了循环的起始值和终止值)A.鸡:1 到 28,兔:1 到 14B.鸡:2 到 28,兔:1 到 14C.鸡:1 到 28,兔:2 到 14D.鸡:2 到 28,兔:2 到 14例 3.一份单据中被涂抹数字的推算(体验数字推算算法)有一张单据上有一个 5 位数的编号 n,如图 1 所示,其百位数和十位数处已经变得模糊不清,但是知道这个 5 位数是 37 或 67 的倍数。现要设计一个算法,找出所有满足这些条件的 5 位数,并统计这些 5 位数的个数。图 11) 算法分析这个 5 位正整数 n 中的百位和十位数有 00、01、02、97、98、99 共 10

6、0 种可能,分别填入,从而产生出 n 的全部可能解:25006、25016、25026、25986、25996。使用枚举算法解决问题时,必须逐一地给出所有可能解并对它们逐一进行检验,既不应遗漏任何一个可能解,也不应重复地产生和检验可能解。因而将每个可能解 n 逐一进行判断是否是一个真正解,即 n 是否能被 37 或 67 整除。若 n 是真正解,则输出 n 的值,并在计数器 c 中加上 1,表示找到了一个真正解。2) 算法表示图 2 寻找单据中被涂抹数字算法流程图3)完成算法运行体验 “涂抹数字推算” 程序 并补完整程序代码。提高:把程序中的 for 循环换成 Do hile 循环For j=

7、1 to 99n = 25006 +j*99 If n Mod 37 = 0 Or n Mod 67 = 0 ThenList1.AddItem Str(n)c = c + 1End IfNext j2.枚举算法解题过程:解题过程分两步:逐一列举可能的解的范围。这个过程用循环结构实现。对每一个列举可能的解进行检验,判断是否为真正的解。这个过程用分支结构实现。枚举算法=循环结构+分支结构,循环结构内嵌套选择结构(三)课堂训练:有 30 个人,其中有男人、女人和小孩。他们在一家饭馆里花去 500 元。已知,每个男人花 30 元,每个女人花 20 元,每个小孩花 10 元。问男人、女人和小孩各为多少

8、人?VB 程序如下,在划线出填入合适的语句或表达式。Private sub command1_click()Dim man , woman , children , s As IntegerFor man=1 to ( 1 ) For woman=1 to 23children= ( 2 ) s = 30*man + 20*woman + 10*childrenIf ( 3 ) thenlist1.AddItem (str(man)+str(woman)+str(children)End ifnext womannext manEnd sub(四)课堂总结:1.枚举算法=循环结构+分支结构2.

9、做到既不遗漏任何一个解、也不重复.3.枚举算法效率较低.注:并不是所有的问题都可以使用枚举算法来求解,只有当问题的所有可能解的个数不太多时,并在可以接受的时间内得到问题的所有解,才有可能使用枚举算法 。(五)课后作业完成学生活动手册实践活动八 找出 1000 以内的所有素数四、 教学反思枚举算法的教学设计,得到几位听课老师的指点,经过几次教学实践环节和本人的反思,我认为以下几方面很值得去总结和改进。1、教学情境的创设枯燥乏味的程序算法课中,如何让学生变得愿学、乐学,一直是信息技术教师追求的梦想。不过,算法本来就是源于生活的,如果教师能够细心观察、多多思考,完全可以使算法的课堂变得生活气息十足。

10、本节课以在一串钥匙中查找一把锁的所有正确钥匙为新课引入,此任务同学经常遇到,非常形象。而且又能结合课堂教学内容和教学目标,比较有效地调动了学生主动探究学习的积极性。2、培养同学总结、概括的能力开始的教学设计中在新课引入后,老师直接将枚举算法的概念和流程图特征总结了出来,同学只是被动的知识接受者,主动思考,积极参与教学环节的热情不太高。后来有听课老师指出,可以先让同学自主探索完成任务 1 水仙花,并在同学根据新课引入和尝试完成任务 1(水仙花数)中的领悟和理解,用自己的语言讨论和总结:枚举算法的概念、结构特征和注意事项,然后老师再补充、完善。如此可以培养同学总结、概括的能力。3、程序成功的体验 任务 1 有下列三种难度,难度(流程图+完整程序) ,难度(流程图) ,难度(仅任务描述。 )同学选择合适自己的难度(分层教学) 。课后统计选择难度的有 16 人,选择难度的有 15 人,没有同学选择难度。第一个任务(水仙花数)将作详细的介绍,大部分同学可以比较顺利地理解和上机实现。第二个任务是用枚举算法来找出一定条件下的勾股数,相关概念比较多,还用到了 VB 中的 INT 函数。部分理解能力强,上机实践熟悉的同学可以按时地独立完成此任务;有部分同学只能完成算法流程图的理解,我会提供不完整的程序代码作为学习支架,在程序的关键处还是要求其思考和填空。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。