您好,欢迎访问三七文档
枚举算法教学设计一、教学目标1、知识与技能目标:熟悉用枚举算法设计程序的基本思路;学会使用枚举算法解决现实生活、学习中所遇到的问题;了解枚举算法的局限性。2、过程与方法:围绕获取谜语的线索这条主线,熟悉用枚举算法求解问题的基本过程,并把它运用到实际生活中去解决问题。学会选择适当的枚举方法多角度分析问题,解决问题。3、情感态度与价值观:激发学生的学习热情,增强学生合作意识和创新意识。引导学生关注枚举算法在社会生活中的应用,并以此培养学生将算法思想运用到解决实际问题中去的能力。二、学情分析本节内容的教学对象是高一上学期《信息技术基础》的学生,他们在前面基本上了解和学会了VB的简单编程,掌握了程序的基本控制结构以及基本语句的应用。对枚举算法的概念有了一点的基础了解。三、教材分析1、本节主要内容介绍枚举算法是程序设计中使用最为普遍、学生必须熟练掌握和正确运用的一种算法。它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。用枚举算法解决问题,通常可以从确定范围、验证条件这两个方面进行分析,把这两个方面分析好了,问题自然会迎刃而解。2、重点难点分析教学重点:(1)、掌握枚举算法的基本思想。(2)、根据题目确定枚举范围以及验证条件。(3)、枚举算法的程序实现。教学难点:(1)、算法的程序实现。四、教学设计理念采用了以学生的学习和发展为中心,基于建构主义理论的任务驱动、情境教学、游戏教学等教学方法,突出自主、合作、探究等学习方法;强调信息技术与生活实际的联系,培养学生的逻辑思维能力、解决问题的能力以及创新意识等;设置多元化的评价方式,让学生掌握学习内容的同时,形成交流与评价的能力。主要教学方法:讲授法、演示法、任务驱动、游戏教学、情境教学等主要学习方法:小组协作学习、自主学习等五、教学策略以帮助老师找回QQ密码为主线,在教学过程中,围绕“情境导入→回顾算法思想→任务引领→合作探究→交流评价→总结拓展”的教学流程来展开教学活动。六、教学环境多媒体网络教室、多媒体教学软件、VB6.0中文版、iis+access配置等。教学过程一、情境导入(3分钟)从教室询问学生喜不喜欢玩游戏,喜欢玩什么样的游戏开始师:今天我们来玩一个游戏,到底是玩什么样的游戏呢,大家请看“猜谜语”程序文件。文件中给大家提供了一句简短的游戏介绍,大家能猜出是什么样的游戏?生:学生猜想师:是不是才不吃出来呢,没关系,老师给了几个关键线索,想要知道什么线索,你得帮老师解决问题才知道。我们先看第一个问题。二、教学过程(一)教师呈现问题1,请同学站起来回答(解决线索一10分钟)问题1:计算1-100内能被8整除的数,分别有哪些,总共几个这样的数。生:学生回答问题1学生一一列举出问题的答案教师通过学生的回答引出枚举算法的概念和注意事项枚举算法:按问题本身的性质,一一列举所有可能的解,并在逐一列举的过程中,检验每个可能解是否问题的真正解,若是就采纳这个解,否者就抛弃它注意事项:1、列举时,不能遗漏,也不能重复2、尽可能使可能解的罗列范围最小,提高解决问题的效率师:大家了解了什么是枚举算法,那么日常生活中,枚举算法有发挥作用吗?生:学生思考回答师:小结日常生活中的枚举算法(修补自行车轮胎、找烂苹果等等)师:碰到刚才的问题如果我们用计算机的程序来解决是不是更加快速有效呢。教师再次呈现问题1,并用流程图呈现解决过程,用程序语言怎么解决师:有两个关键点关键点:1、确定范围(循环语句)For循环变量=初值To终值Step步长语句块Next循环变量Dowhile条件表达式语句块loop2、条件验证(选择语句)if条件表达式then语句教师通过问题分析后,学生将线索一通过VB操作完成PrivateSubCommand1_Click()DimsumAsInteger,iAsIntegerList1.Cleari=1i=100?imod8=0?结束开始YNYN输出正解i计数器置初值:sum0计数器置初值:sum=sum+1i=i+1输出sumsum=0Fori=_____________If_______________Thensum=sum+_____List1.AddItemStr(i)EndIfNextiText1.Text=Str(sum)EndSub教师请学生上机演示教师小结得出线索一,还是猜不出谜语,继续完成线索二(二)教师呈现问题二(解决线索二10分钟)师:一张涂抹数据,其中十位数和百位数被涂抹了,已知十位数和百位数是相邻的数,求这种数据有几种可能?学生思考教师请学生分析并回答问题,即枚举范围和验证条件教师通过分析问题后呈现流程图的表达形式,让学生完成程序语言的操作。PrivateSubCommand1_Click()DimsAsInteger,iAsInteger,jAsInteger,nAsIntegerList1.Clear'列表清空n=0'计数器清零Fori=_________________'百位数范围(填空)Forj=_______________'个位数范围(填空)s=_______________'s赋值(填空)If_____________Then'检验条件(填空)List1.AddItemStr(s)'满足条件的数字添加到列表框中_________________'计数器累加(填空)EndIfNextjNextiText1.Text=Str(n)'文本框输出总数EndSub教师小结得出线索二,还是猜不出谜语,继续完成线索三(二)教师呈现问题三:百钱买百鸡(解决线索三13分钟)学生思考探究教师请学生分析并回答问题,即枚举范围和验证条件教师通过分析问题后让学生完成程序语言的操作并加以优化。问题分析如下:1、公鸡的只数a=1to100,母鸡的只数b=1to100,小鸡的只数c=100-a-b。2、必须满足的条件是:a+b+c=100且5a+3b+c/3=100。3、用穷举法,当满足鸡数、钱数条件时,输出结果,再循环列举,直至输出所有的组合结果;程序中用For—Next语句PrivateSubCommand1_Click()DimaAsInteger,bAsInteger,cAsIntegerFora=0To100Forb=0To100c=100-a-bIf(a+b+c=100)And(a*5+b*3+c/3=100)ThenList1.AddItemStr(a)&Str(b)&Str(c)EndIfNextbNextaEndSub请学生填空并优化上述程序学生讲解优化过程和原因教师小结得出总的答案学生小组简单游戏得出获胜方三、教师总结3分钟四、学生评价1分钟
本文标题:枚举算法教学设计
链接地址:https://www.777doc.com/doc-7392002 .html