第四单元计算与问题解决3非数值计算.docx
第四单元计算与问题解决4.3非数值计算教材分析分治是最常用的算法设计思想,查找是算法中最常见的操作,递归是算法在实现时的常用手段。本节我们将围绕项目“生活中的算法”展开学习,尝试用计算机的视角去解决实际问题。本项目主要包含“猜数字”和“玩转'汉诺塔'游戏”两个任务。任务一主要介绍分治中最经典的二分思想;任务二借助汉诺塔游戏重在介绍递归思想及算法实现。教学目标与核心素养1 .运用合适的算法形成解决问题的方案;2 .了解算法设计中的分治思想,并运用二分查找解决实际问题;3 .体验递归的方法,并结合具体问题开展编程实践。教学重难点教学重点:理解二分思想、递归思想,运用二分算法解决实际问题。教学难点:理解递归算法。课前唯备教师准备:打开微机,投影机,课件。学生准备:结合课本提前预习。教学过程教学过程教师活动学生活动设计意图导入:猜数字比赛5分钟运行利用Python编写的“猜数字”游戏,计算机在ITOOO中随机产生一个数,试试看你要猜多少次才能猜中。学生参与“猜数字游戏”。玩猜数字游戏,激发学生兴趣。CNVindo,'0yxe礴猜中物&的数字屿?i三JB=S07i.=2S0小了1:325大了?ix275z280-Ttjx272i三Jfi:270大了?ix260不为请精:26Sf!语情:2687?遗幕:269用墨微4%退出.讲授新知:二分查找讲解二分查找思想:二分查找又叫折半查找,将数列有序排列,采用跳跃式查找数据;以递增数列为例,先以中点位置的元素作为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分;每一次比较后都可以将查找区间缩小一半。学生认真听讲。了解二分思想。1 .自然语言如何描述?2 .程序如何实现?学生思考。从自然语言到程序设计语言,降低难度。练习尝试用二分法求x3-2+=o在b5,5区间的解。deff(x):#定义方程retumx*3-x*2+xTa=float(input(,请输入解区间的左边界:)b-float(input("请输入解区间的右边界:”)whileabs(b-a)>le-6:x=(a+b)2iff(a)*f(x)<0:学生动手操作。深入理解二分,会运用二分思想解决实际问题b=xiff(b)*f(xa=xiff(xO)=CbreakPrint(解为:,xinput(运行完出.”)0)<0:):0)毕,请按回车键退讲授新知:递归汉诺塔游戏“汉诺塔”游用传说。如下图所示,三根杆,A杆上有若动一个木盘。且小体盘上面。请设计算过把所有的木盘从A杆AI£源于一个古老的印度在木板上有A、B、C干木盘,规定每次移J木盘只能叠在大的木用尽可能少的次数全部移到C杆上。3CI学生思考如何完成游戏。游戏导入,激发兴趣。分析游戏过程从1个盘子开始盘子,画出移动过后,到2个盘子,到3个学生动脑思考。由简到难,逐步分析。讲解递归思想递归是重复调用问题,归是解决问题直接或间接地谓归。可以将递归简详重复的事物。I函数自身,递是描述用自身的方法称为递-类比为具有自相似性学生认真听讲。理解递归思想。讲解递归函数讲解递归函数递归函数是只用函数自身来定义该函数的方法。学习递归函数。课堂小结2分钟老师带领学生一起回顾本课知识。1 .理解递归思想。2 .理解递归算法。3 .理解二分查找思想,运用二分算法解决实际问题。再次巩固本堂课的知识,体现教学的完整性。练习结合4.2的知识,计算“汉诺塔”游戏移动的次数。参考答案:deff(n):ifn=0:return0else:return2*f(n-l)+1x=int(input(请输入塔的个数:)Print("需要移动次)input(运行完毕,请按回车键退出.)引导学生思考。反盗版维权声明北京凤凰学易科技有限公司(学科网:WW)郑重发表如下声明:一、本网站原创内容,由本网站依照运营规划,安排专项经费,组织名校名师创作完成,本公司拥有著作权。二、本网站刊登的试卷、教案、课件、学案等内容,经著作权人授权,本公司享有独家信息网络传播权。三、任何个人、企事业单位(含教育网站)或者其他组织,未经本公司许可,不得以复制、发行、表演、广播、信息网络传播、改编、汇编、翻译等任何方式使用本网站任何作品及作品的组成部分。四、一旦发现侵犯本网站作品著作权的行为,欢迎予以举报。举报电话:OIO-58425260。举报内容对查实侵权行为确有帮助的,一经确认,将给予所获得奖励。五、我们将联合全国各地文化执法机关和相关司法机构,并结合广大用户和网友的举报,严肃清理侵权盗版行为,依法追究侵权者的民事、行政和刑事责任!特此声明!北京凤凰学易科技有限公司