资源简介 《枚举算法的程序实现》教学设计 一、学情分析: 本节内容的教学对象是高一下学期,有一定算法基础的学生,已经掌握了程序的基本控制结构以及基本语句的应用。而C班是信息技术混合班,理解能力非常强,掌握了算法设计的基本原理,在高一上学期已经能够使用一些简单算法来解决实际问题,并能熟练应用单循环结构设计算法。 二、教材分析: 枚举算法是程序设计中最常用、最基本的一种算法,学生也必须掌握这个算法。利用计算机运算速度快而准确的特点,用枚举法可以十分容易地破解许多复杂的密码。在现实生活中,有一类问题可以采用搜索的方法解决,用枚举算法,把所有可能的结果一一罗列出来并逐一验证,排除不可能的结果,问题就能迎刃而解,这种算法就称为枚举算法。 二、 课程目标(知识目标、情感态度与价值观、过程与方法) 总体目标 以学生为主体,以“学为所用”为目标,通过《算法与程序设计》第5.1节《枚举算法的程序实现》的学习和应用,理解循环中嵌套分支的结构特点和执行过程;使学生熟练掌握枚举算法中“多重循环“的问题;熟悉枚举算法解决问题的基本思路;学会使用枚举算法解决现实生活、学习中所遇到的问题。 知识与技能 (1)、初步实现枚举算法的VB程序的编写和程序功能的实现。 情感态度与价值观 (1)、在枚举算法的设计过程中,培养学生思维逻辑能力和探究创新能力; (2)、在利用枚举算法解决问题的过程中,感受枚举算法在日常生活中的广泛应用,体验它的价值,激发学生对计算机程序设计的学习兴趣; (3)、学会优化算法设计,并养成反思的习惯,在反思中进步和提高自己的算法设计能力。 过程和方法 以培养学生的信息素养微前提,在教师的引导下,通过自学和微课视频帮助,学习枚举算法的基本思想、控制结构,从发现问题、思考问题、解决问题中归纳提升,最终能用枚举算法知识要点和控制结构。 三、教学重点难点: 重点:理解枚举算法思想;培养学生运用三步法来解决实际问题的能力。 难点:让学生理解多种控制结构的嵌套;让学生能够将枚举算法 四、教学方法与手段 教师以讲授、演示操作,部分内容学生可以通过微课自学提高 教学过程 教师活动 学生活动 设计意图 【复习循环语句】 循环语句分两种:For语句和do while语句 For 循环变量=初值 to 终值 step 步长 语句块 Next 循环变量 S=0 For i=2 to 10 step 2 s=s+i Next i 程序中循环变量为 ,初值为 ,终值为 , 循环体是 ,步长为 ,退出循环的条件是: 。 该程序段执行的功能为: . 思考和回忆循环语句的结构和应用? 完成《枚举算法讲义》一、知识回顾中,程序段①填空 复习和巩固循环结构 【复习循环语句】 Do While 条件表达式 语句块 Loop 完成《枚举算法讲义》一、知识回顾中,程序段①修改成Do While语句 理解For循环的前提是:知道循环次数。 【思考活动】双重循环(循环嵌套) For i=1 to 3 for j=3 to 5 s=s+j next j Next i i、j如何循环? S=s+j总共循环几次? 完成《枚举算法及其实现》程序段② 引起学生的注意,发现语句结构嵌套的秘密。 【概念引入】 基本思想:把问题所有的可能解一一地罗列出来,并根据题目的条件,对每一个可能解进行判断,以确定这个可能解是否是问题的真正解。若是,就采纳这个解,否则就抛弃它。 【枚举概念注意事项】 注意: (1)尽可能地使可能解的罗列范围最小,以提高解决问题的效率 (2)不能遗漏任何一个真正解 (3)不能重复 学生仔细听讲 阅读讲义中的枚举算法的事项和注意事项 直接展示枚举算法的概念和注意点 【思考活动】 1、为什么计算机能破解密码? 如何从残缺不全的信息中推算出需要的信息(如缺失的数字中推算出原有的、可能的数字)? 采用枚举算法。(即穷举) 例题1 下列问题适合使用枚举算法解决的是( ) A、计算已知半径的圆面积 B、计程车计费 C、校园歌曲大赛的成绩排名 D、找出1000以内的所有能被6整除的数 例题2 用枚举算法求解“找出所有满足各位数之和等于5的三位数”时,在下列所列举的数值范围,算法执行效率最高的是( ) A、从0 到999 B、从100到999 C、从100到500 D、从104到500 了解枚举的应用 完成讲义中例题1 和例题2的任务 以例题的形式展示枚举算法在生活中的应用 【解决实际问题】包装问题 例3:包装1200个变形金刚,要求: 1、小盒(可以装5个)和大盒(可以装12个) 2、每种规格的盒数任意,但每盒都必须装满,设计一个算法,输出所有可能的包装方案,并输出包装方案的个数。 思考解决: (1)分析问题 设小盒x个,大盒y个,须满足: 5x+12y=1200 0<=x<=240 0<=y<=100 所以当x=0时,y=100,当y=0时,x=240. 解决实际问题:包装问题。 完成讲义中例题3的问题 思考和应用。 (2)确定算法(流程图) 确定算法 思考和应用 (3)算法程序实现 A、界面: B、枚举算法基本思想:把问题所有的可能解一一地罗列出来 枚举算法关键在循环: X:0—240,y:0—100, 判断是否是方案条件:5x+12y=1200 并根据题目的条件,对每一个可能解进行判断,若是,就采纳这个解,否则就抛弃它。 满足:5*x+12y=1200 则: 输出方案 方案个数计数器加1 C、程序上机实现VB程序 通过vb软件实现枚举算法的应用 思考和应用 【课后作业】一份单据中被涂抹的数字的推算。 最近警方抓获一批制造发票的犯罪分子,并发现制造发票用的模版,但是由于受到损坏,它的千位和百位的数字已经模糊不清,如下图所示: 根据犯罪分子交待,这个数能被37 或47除尽。请设计一个算法,找出该单据可能号码及个数。 巩固枚举算法的实现过程,下节课上机练 理解枚举算法的应用。 【总结】 基本思想:把问题所有的可能解一一地罗列出来,并根据题目的条件,对每一个可能解进行判断,以确定这个可能解是否是问题的真正解。若是,就采纳这个解,否则就抛弃它。 注意: (1)尽可能地使可能解的罗列范围最小,以提高解决问题的效率 (2)不能遗漏任何一个真正解 (3)不能重复 学生回忆本节课的知识点 巩固知识点 【作业布置】 一份单据中被涂抹的数字的推算,下节课上机时间。 学生完成练习 掌握枚举算法的应用 展开更多...... 收起↑ 资源预览