课件编号8361127

必修1 4.3 非数值计算 教案

日期:2024-05-09 科目:信息技术 类型:高中教案 查看:64次 大小:1294336Byte 来源:二一课件通
预览图 1/2
必修,数值,计算,教案
  • cover
中小学教育资源及组卷应用平台 教科版 必修1 4.3 非数值计算 课题 必修1 4.3 非数值计算 单元 4 学科 信息技术 年级 高一 学习 目标 1.运用合适的算法形成解决问题的方案 2.了解算法设计中的分治思想,并运用二分查找解决实际问题 3.体验递归的方法,并结合具体问题开展编程实践 重点 理解二分思想、递归思想,运用二分算法解决实际问题 难点 理解递归算法 教学过程 教师活动 学生活动 设计意图 导入:猜数字比赛 5分钟 运行利用python编写的“猜数字”游戏,计算机在1-1000中随机产生一个数,试试看你要猜多少次才能猜中。 学生参与“猜数字游戏“,试试要猜多少次才能猜中。 通过玩猜数字游戏,激发学生兴趣。 讲授新知 如何猜得又快又准 讲解二分查找思想: 二分查找又叫折半查找,将数列有序排列,采用跳跃式查找数据;以递增数列为例,先以中点位置的元素作为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分;每一次比较后都可以将查找区间缩小一半。 学生学习二分查找思想,理解折半查找的含义。 让学生理解二分查找思想的含义,明白其道理。 如何 实现 1、自然语言如何描述 2、程序如何实现 学生思考用自然语言和程序如何实现。 从自然语言到程序设计语言,降低难度。 练习 尝试用二分法求 x3- x2 + x - 1 = 0在[-5,5]区间的解。 def f(x): #定义方程 return x**3-x**2+x-1 a=float(input("请输入解区间的左边界:")) b=float(input("请输入解区间的右边界:")) while abs(b-a)>1e-6: x0=(a+b)/2 if f(a)*f(x0)<0: b=x0 if f(b)*f(x0)<0: a=x0 if f(x0)==0: break print("解为:",x0) input("运行完毕,请按回车键退出...") 学生尝试用二分法求 x3- x2 + x - 1 = 0在[-5,5]区间的解。 先是阅读程序,然后在电脑上编写,调试和运行。 让学生深入理解二分,会运用二分思想解决实际问题。通过编写程序来解决。 玩汉诺塔游戏 “汉诺塔”游戏源于一个古老的印度传说。如下图所示,在木板上有A、B、C三根杆,A杆上有若干木盘,规定每次移动一个木盘。且小的木盘只能叠在大的木盘上面。请设计算法,用尽可能少的次数把所有的木盘从A杆全部移到C杆上。 学生阅读这个传说故事,思考如何完成游戏 通过游戏的方式,游戏导入,激发兴趣 分析玩的过程 从1个盘子开始,到2个盘子,到3个盘子,画出移动过程 学生从1个盘子开始,到2个盘子,到3个盘子,画出移动过程 由简到难,逐步分析 讲解递归思想 讲解递归思想 递归是重复调用函数自身,递是描述问题,归是解决问题。 直接或间接地调用自身的方法称为递归。可以将递归简单类比为具有自相似性重复的事物。 学生学习递归思想,理解递归的含义。 让学生理解递归思想的含义。 讲解递归函数 递归函数是只用函数自身来定义该函数的方法。 学生学习递归函数。 让学生学习递归函数。 课堂 小结 2 分钟 老师带领着学生一起回顾本节课的知识。 1、理解递归思想。 2、理解递归算法。 3、理解二分查找思想,运用二分算法解决实际问题 跟着老师对本节课内容进行总结,巩固所学。 再次巩固本堂课的知识,体现教学的完 整性。 练习 结合4.2的知识,计算“汉诺塔”游戏移动的次数。 参考答案: def f(n): if n==0: return 0 else: return 2*f(n-1)+1 x=int(input("请输入塔的个数:")) print("需要移动",f(x),"次") input("运行完毕,请按回车键退出...") 结合4.2的知识,计算“汉诺塔”游戏移动的次数。 通过程序实现。 对本节所学的知识进行练习。 _21?????????è?????(www.21cnjy.com)_ ... ...

~~ 您好,已阅读到文档的结尾了 ~~