必修1 4.3 非数值计算 教案

文档属性

名称 必修1 4.3 非数值计算 教案
格式 zip
文件大小 1.2MB
资源类型 试卷
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2020-12-18 15:03:31

图片预览

文档简介

中小学教育资源及组卷应用平台
教科版 必修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)_