南方版八年级上册信息技术教案12_第1页
南方版八年级上册信息技术教案12_第2页
南方版八年级上册信息技术教案12_第3页
南方版八年级上册信息技术教案12_第4页
南方版八年级上册信息技术教案12_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12课猜数比快一、教学内容分析《猜数比快》是《算法与程序设计的扩展》的最后一课,本课安排在本单元的最后,充分体现了课本体系之间的层次性和顺序性。其主要内容通过枚举法、随机法和二分法三种算法对猜数字游戏的代码体现,让学生体会不同算法的优缺。“枚举法”“随机法”“二分法”三个模块分别用枚举法、随机法、二分法实现猜数字游戏的代码,比较代码不同与不同算法的运行效率。学完本节课的内容,学生能够依据教材中的猜数字游戏代码掌握三种方法的不同,利用三种方法解决实际问题。二、学习者特征分析本课面向的是八年级的学生,八年级的学生已具备较高的抽象思维能力,思维灵敏,独立性增强,好奇心强,容易受到外界刺激而产生兴趣,依赖中求独立,愿意探索和发现新自我,且竞争心渐强。针对这一情况,本课主要讲述的是“枚举法”“随机法”“二分法”的使用方法。这对于学完前面枚举算法的同学而言,能充分激发学生的学习动机,调动学生的学习积极性,使他们能更想深入的去了解程序设计中的算法,提高学生算法思维能力。三、教法建议本节课重点讲述了通过猜数字游戏引出枚举法、随机法和二分法三种算法的不同表现,培养学生对程序设计的积极性。对本堂课的教学,我们有以下几点建议(仅供参考):同学们通过前面的学习,对算法的使用只是初步的认识,所以本节课中三种方法对猜数字游戏代码的编写,尽量采用师生共同输入的方式,以免学生跟不上产生厌倦心理,要营造轻松愉悦的学习氛围,这样大部分学生都会有较高的学习积极性,而对于那些基础差的同学,我们要给予更多的注意和帮助;教师可以随时提问同学实验结果,并及时给出教学评价,肯定学生的学习成果,提高学生自信心。四、参考教案科目信息技术年级八年级班级课时1课时课型新授课时间课题猜数比快——二分算法的使用教学目标知识能力品德知识与技能:1.掌握枚举法、随机法和二分法的使用方法。2.学会使用算法解决实际问题。过程与方法:1.通过编写猜数字游戏代码,培养学生动手编程能力。2.通过对问题的分析,培养学生计算思维。3.通过三种算法的代码比较,掌握比较学习的方法。情感态度与价值观:1.培养学生算法思维。2.培养学生积极对待新问题的态度。3.培养学生小组合作的团队精神。教学重点难点重点:枚举法、随机法和二分法的使用方法。难点:利用枚举法、随机法和二分法解决实际问题。板书设计示意框图第12课猜数比快——二分算法的使用一、分析问题二、枚举法三、随机法四、二分法教学准备知识准备:枚举法和调用模块。硬件准备:多媒体教学工具。软件准备:。教学过程教师活动学生活动教师意图时间一、设疑导入同学们还记得猜数字游戏吗?上一节课我们学习的枚举法可以用到猜数字游戏当中。玲玲和小明玩猜数字游戏,玲玲出的是数字100,小明按照枚举算法从1开始到100依次猜数,问了玲玲99次对不对,玲玲说:“这简直是太浪费时间了!”她决定只给小明10次猜数机会,小明还能猜对吗?认真听讲,积极思考。引入课堂,让学生完成过渡。1’分析问题玲玲改变规则之后,她从1~100中挑一个数字让小明猜,小明每次猜一个数字,玲玲均要告知小明猜的数是大了、小了还是对了。猜对了就游戏结束,否则一直猜一直给出提示,直到猜对,但必须在10次内猜对,有什么好办法呢?为了探究最佳的解法,我们可以根据不同的解决方案编写Python代码,让计算机扮演小明的角色去猜数,然后分别统计计算机猜对所用的次数,看看哪种解法所用的次数最少,是否有一种解法可以满足一定是在10次以内猜对呢?首先将输入的答案保存在变量key里。不断地将计算机猜的数与key进行比较,条件判断if语句可以帮助我们进行一次判断,但是无法确定会猜多少次,所以还需要使用循环语句实现不断判断的功能。最后将计算机猜数的过程和次数打印出来,方便观察与对比。认真听讲,积极思考,并理解分析问题的思路和过程。放慢教学节奏,在分析问题阶段不要让太多学生感觉到困难。3’枚举法枚举法是计算机解决问题的万能钥匙,但是小明已经试过这种方法,效率很低。显然,这不是“猜数游戏”的最佳解法。但是我们已经学过了枚举算法,就先从枚举算法的代码入手,方便对比观察。【操作演示】进入窗口教学,师生共同输入代码进行观察。key=input(‘请在一百以内挑一个数让计算机猜猜:’)key=int(key)count=0forguessinrange(1,101):count=count+1print(‘计算机猜是:’,guess)ifguess<key:print(‘猜小了!’)elifguess>key:print(‘猜大了!’)else:print(‘猜对了!’)breakprint(‘计算机猜数次数为:’,count)假设输入的key为11,若从小到大枚举,则要猜11次,若从大到小枚举,则要猜90次,都超过了10次。(同学们观察结果)认真阅读教材,积极动手操作,观察实验结果。培养学生的自主探索能力和发现精神。8’随机法实际上,我们在玩猜数字游戏的时候通常使用的是凭感觉、随机的。所以Python中可以调用random模块中的randint(low,high)函数在[low,high]区间随机生成一个整数。由于猜的次数不确定,我们会使用循环语句,只要没猜对,游戏继续进行。教师提问:次数不确定,要用什么语句实现循环呢?学生回答:【操作演示】进入窗口教学。利用随机法实现猜数字游戏的代码:importrandomkey=input(‘请在一百以内挑一个数让计算机猜猜:’)key=int(key)count=0low=1high=100guess=0whileguess!=key:count=count+1guess=(low,high)print(‘计算机猜是:’,guess)ifguess<key:print(‘猜小了!’)low=guess+1elifguess>key:print(‘猜大了!’)high=guess-1else:print(‘猜对了!’)breakprint(‘计算机猜数次数为:’,count)在随机法的使用中可以发现,每猜一次,猜数的范围就会更新,下一次猜的范围就会变小,猜对的几率就会变高。教师提问:哪几条语句是更新猜数范围的?学生回答:教师提问:如果不更新猜数范围,会出现什么错误呢?(同学们动手实践)(同样假定输入的key值为11,方便对比观察。)认真听讲,积极思考回答问题,动手实践操作,观察实验结果。帮助学生复习前面所学过的循环语句,培养学生的自主探索能力和发现精神。8’五、二分法【阅读任务】学生阅读教材二分法的介绍。【操作任务】学生自主输入图12-5代码,看谁输入的快。教师提问:利用二分法猜数的具体过程是什么?三种方法哪一种方法是猜数游戏的最佳解法?小组交流讨论回答:因为100大于26且小于27,所以100以内的猜数游戏利用二分法一定能在7次内猜对。(假定输入的key值仍为11,方便对比观察)认真分析教材,积极思考,完成作业,积极讨论回答问题。让学生自主体会二分法的应用,培养学生自主探索能力和动手编程能力。8’六、实践与交流1.完成教材体验与建构。2.通过三种算法对猜数游戏的代码实现,请同学们分组讨论它们分别适用于哪些情况,并思考如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论