信息技术必修1 数据与计算第4单元 计算与问题解决4.2 数值计算优质课教案
展开计算与问题解决
教学主题
数值计算
教学目标
知识与技能
能够理解库函数的使用
能够结合数学库函数实现函数图象的绘制
能够理解图象绘制时各代码实现的含义并能够综合修改代码
过程与方法
通过问题解决和综合应用,提升代码综合解决问题的能力。
情感态度价值观
能够感受到程序设计和函数运用、统计分析之间的联系。
核心素养培养
学会高阶函数库实现的程序设计,奠定数学统计分析的基础和兴趣,以待深入跨学科学习。
教学内容
Pythn绘制函数图象;迭代算法
教学媒体
电子白板、PPT
教学过程
教学环节
教师活动
学生活动
设计意图
旧知复习
让学生复习【函数的定义和调用】,并且总结阐述函数库导入的意义的目的。
imprt math
a=int(input ("请输入底数:"))
x=int(input ("请输入指数:") )
def zhishu(a1,x1):
y=math.pw(a1,x1)
return y
print(a, x, zhishu(a, x))
回忆一下这个函数的功能,并尝试推理运行结果。
提示:导入math库,在math库了涵盖了常用数学函数。Pw即指数函数。
学生观察程序代码并运行函数。
回答教师的问题,复习math库的应用。
本节课需要学习numpy库和matpltlib函数。
任务探究
【知识点一、Pythn绘制函数图象】
活动1 用wps绘制正弦曲线——描点法
利用平时使用的电子表格软件就能绘制函数图像。方法如下:若以30°为间隔,绘制0~360°之间的正弦函数图像,则首先需要在WPS 中完成下列表格数据的计算。
通过计算下述13行数据,分别在sin(x)、sin(-x)和sin(2x)/2的数值,并填写下表。大家开始完成任务。
【提示】
知识脚手架:观察视频并对照设计插入函数曲线。
阐述你是如何实现的呢?
学生分析算法:
用描点法画函数图像一般分三步:
首先建立平面直角坐标系
其次根据解析式计算出若干点的坐标并画在坐标系内
最后将这些点依次连接起来。
完成教师安排的任务并讨论。
组织汇报结果并展示。
学生通过练习逐渐在实践过程中加强对理论知识的消化和理解,同时在程序运行中不断调试、寻找错误,让学生能够理解和感受程序员职业的日常工作,感受代码结果实现的魅力。
教师提供代码引导、视频引导和语言引导,真正实现以学为中心。
活动2 用Pythn绘制正弦曲线
查阅资料,并自主学习numpy模块和matpltlib模块。用Pythn绘制正弦曲线。
numpy模块简介
numpy是一个科学计算包,其中包含很多数学函数,如三角函数、矩阵计算方法等。通过该模块中的arange函数可以创建一个等差数列。如在0~2π之间每隔0.01取个值,则可以用arange(0,2*numpy. pi,0.01)来表示,其中numpy.pi表示π。下列代码可以产生sin(x)的若干个关键点。
matpltlib模块简介
matpltlib模块是Pythn中最出色的绘图库,功能很完善。调用matpltlib.pyplt时,坐标系可以根据数值范围自动生成。
matpltlib的绘图原理很简单,利用plt画线函数就可以在直角平面内轻松地将(x,y)坐标点对连接成平滑曲线。例如:在上述代码的适当位置增加下列语句,就可以将刚才生成的关键点连接起来。
发布任务,完善代码
_________________#加载numpy模块并取别名为np
#加载matpltlib.pyplt并取别名为plt
imprt matpltlib.pyplt as plt
_________________#列表x在0到2π之间,每隔0.01取一个点
_________________#求sin(x)对应的列表y1的值
y2=np.sin(-x)#求sin(-x)对应的列表y2的值
_________________#求sin(2x)/2对应的列表y3的值
_________________#绘制sin(x)的图像plt.plt(x,y1)
_________________#绘制sin(-x)的图像
_________________#绘制sin(2x)/2的图像
#设置图像标题
plt.title('sin(x)')
#设置X轴标题
plt.xlabel('×')
#设置Y轴标题
plt.ylabel('Y')
#将绘制的函数图像窗口显示出来
plt.shw()
【练习任务】
#显示三个函数的图例标题
legend = plt.legend(['sin(x)','sin(-x)','sin(2x)/2'])
【练习】
对比wps绘制的函数图像与Pythn绘制函数图像的优劣
学生根据教师提供的材料,自主学习和探究numpy模块和matpltlib模块。
【如何使用呢?】
#加载numpy模块并取一个简洁的别名为np,便于后续引用imprt numpy as np
#x在0到2π之间,每隔0.01取一个点x=np.arange(0,2*np.pi,0.01)
y=np.sin(x)
#通过解析式计算列表x对应的列表y的值
#加载matpltlib.pyplt并取别名为plt imprt matpltlib.pyplt as plt
#将点对连线
plt.plt(x,y)
#将绘制的图像窗口显示出来
plt.shw()
imprt numpy as np#加载numpy模块并取别名为np
#加载matpltlib.pyplt并取别名为plt
imprt matpltlib.pyplt as plt
x=np.arange(0,2*np.pi,0.01)#列表x在0到2π之间,每隔0.01取一个点
y1=np.sin(x)#求sin(x)对应的列表y1的值
y2=np.sin(-x)#求sin(-x)对应的列表y2的值
y3=np.sin(2*x)/2#求sin(2x)/2对应的列表y3的值
plt.plt(x,y1)#绘制sin(x)的图像plt.plt(x,y1)
plt.plt(x,y2)
plt.plt(x,y3)
#设置图像标题
plt.title('sin(x) || sin(-x) || sin(2x)/2')
#设置X轴标题
plt.xlabel('×')
#设置Y轴标题
plt.ylabel('Y')
#将绘制的函数图像窗口显示出来
#显示三个函数的图例标题
#legend = plt.legend(['sin(x)','sin(-x)','sin(2x)/2'])
plt.shw()
学生总结
wps绘制图像需要多行数据,且精度不够,图像不光滑。但wps简单易理解。
Pythn绘制图像需要导入相应函数库和图像库,结合库函数实现图形绘制,较为复杂,但是图形平滑美观。
【知识点二、求解斐波那契数列】
分析斐波那契数列算法
wps绘制图像需要多行数据,且精度不够,图像不光滑。但wps简单易理解。
Pythn绘制图像需要导入相应函数库和图像库,结合库函数实现图形绘制,较为复杂,但是图形平滑美观。
分析:
利用迭代算法解决问题,有三个关键步骤:
(1)确定迭代变量,如活动2中的fl、f2;
(2)建立迭代关系式;
(3)对迭代过程进行控制
学生总结算法:
1、这个数列从第3项开始,每一项都等于前两项之和。
2、斐波那契数的边界条件是:f1,f2,f1+f2,fn=f(n-1)+f(n-2)
认真听讲并记笔记。
学生运行程序:
【运行程序】
frm turtle imprt *
#输入自定义数列的个数
amunt=int(input("请输入斐波那契数列的而个数,推荐15:"))
#数列产生
a1=0
a2=1
tem_he=0
shulie=[]
fr i in range(1,amunt):
#终端输出数列的数值
print(a1,end=',')
tem_he=a1+a2
a1=a2
a2=tem_he
#数列添加数值
shulie.append(tem_he)
#turtle画图
fr i in range(1,amunt-1):
fr n in range(4):
frward(shulie[i])
left(90)
#画圆
circle(shulie[i],90)
#输出数列数值
write(shulie[i],fnt=("微软雅黑",i*2))
请根据示意图完善下列程序代码。
def fib(n):
#利用迭代求斐波那契数列的第n个数
f2=f1=1 #第1个月、第2个月初值设定
fr i in range(3,n+1): #推算从第三个月开始,并且至n+1个月结束
f1,f2=f2,f1+f2
return f2
n=int(input('输入需要计算的月份数:')#输出最终解
print('兔子总对数为:',fib(n))
活动2 用Pythn绘制斐波那契数列图象
查找资料,小组合作完成利用Pythn实现递归方法下的斐波那契数列图象绘制。
并解释核心代码实现过程。
【播放视频】
播放运行程序结果并给学生讲解过程。
课后作业
查找资料并寻找生活中的黄金分割问题,将其用代码实现,并形成一份实现报告。报告要求以下内容:
算法设计、流程图设计、完整代码、实现图片
学生完成学习报告。
巩固、加强学习,并解决开放性问题。
高中信息技术教科版 (2019)必修1 数据与计算4.3 非数值计算精品教案及反思: 这是一份高中信息技术教科版 (2019)必修1 数据与计算<a href="/xx/tb_c3000051_t8/?tag_id=27" target="_blank">4.3 非数值计算精品教案及反思</a>,共9页。教案主要包含了知识点一、二分查找,数组二分,知识点二、分治,播放视频,知识点三、递归,什么是汉诺塔游戏,汉诺塔玩法,递归——勾股树等内容,欢迎下载使用。
高中信息技术教科版 (2019)必修1 数据与计算1.2 数据的计算精品教案: 这是一份高中信息技术教科版 (2019)必修1 数据与计算<a href="/xx/tb_c3000031_t8/?tag_id=27" target="_blank">1.2 数据的计算精品教案</a>,共4页。教案主要包含了知识点一、认识计算等内容,欢迎下载使用。
高中信息技术教科版 (2019)必修1 数据与计算4.2 数值计算第一课时教案: 这是一份高中信息技术教科版 (2019)必修1 数据与计算4.2 数值计算第一课时教案,共4页。教案主要包含了导入,新知新授,实践探究,总结等内容,欢迎下载使用。