教科版 (2019)必修1 数据与计算第4单元 计算与问题解决4.2 数值计算精品教学设计
展开课题
必修1 4.2 数值计算
单元
4
学科
信息技术
年级
高一
学习
目标
1.通过求解一元二次方程的解,了解计算机编程解决数值计算问题的一般流程,并能够使用解析法解决实际问题。
2.通过绘制一元多次方程函数图像,了解Pythn利用numpy和matpltlib两个模块绘制图像的基本方法。
3.通过编程求解一元多次方程,了解迭代法的含义,并尝试用牛顿迭代法解决实际问题。
重点
1.了解数值类算法在实际问题解决时的常用方法,如解析法和迭代法。
2.能够利用numpy和matpltlib两个模块绘制函数图像。
难点
理解迭代法的含义,并能够用牛顿迭代法求解一元多次方程。
教学过程
教师活动
学生活动
设计意图
导入
5分钟
在数学课上经常需要手工绘制函数图像,今天我们借助计算机来绘制函数图像。
利用电子表格软件就能绘制函数图像。方法如下:若以30°为间隔,绘制0-360°之间的正弦函数图像,则首先需要完成课本中表4.2.1函数计算 表格数据的计算。
学生先完善表格中的数据。
通过完善表4.2.1,为下一步的利用wps绘制函数图像做准备。
教师
利用wps绘制的函数图像:
学生在老师的引导下,学习利用wps绘制函数图像。
让学生利用wps画图,培养动手能力,这让学生很有成就感。
讲授新知
介绍numpy模块
利用pythn绘制正弦曲线
在Pythn中,绘制函数图像一般要用到numpy和matpltlib两个模块,这两个模块需要另外安装。
numpy是一个科学计算包,其中包括很多数学函数,如三角函数、矩阵计算方法等
imprt numpy as np #加载numpy模块并取一个简洁的别名为np
x=np.arrange(0,2*np.pi,0.01) # x在0到2π之间,每隔0.01取一个点
y=np.sin(x) #通过解析式计算列表x对应的列表y的值
学生学习numpy和matpltlib两个模块。
学生学习numpy模块的具体用法。
让学生学习新知,学习numpy和matpltlib这两个模块。
通过具体程序语句学习numpy模块的具体用法。
介绍Matpltlib模块
Matpltlib模块是一个绘图库
imprt matpltlib.pylt as plt #加载matpltlib.pylt并取别名为plt
plt.plt(x,y) #将点对连线
plt.shw() #将绘制的图像窗口显示出来
学生学习matpltlib模块的用法。
学生通过具体语句学习matpltlib的用法。
教师:两个模块的使用
学生在电脑上学习调试这个小程序,并运行。
让学生学会numpy模块 的使用。
并会它绘制函数曲线。
学生练习
参考上述代码,让我们一起来完善以下Pythn程序,
尝试绘出“sin(x)” “sin(-x)”和“sin(2x)/2”的图像。
程序见课本95页。
学生参考上述代码,尝试绘出“sin(x)” “sin(-x)”和“sin(2x)/2”的图像
做中学,意在引导学生学会两个模块的具体使用。
教师
数学家斐波那契在《计算之书》中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第2个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?10年呢?
学生了解学习这个有趣 的兔子问题。从问题中发现规律。
以有趣的问题引入 教学
教师讲授新知
[1,1,2,3,5,8,13,21,34……]
斐波那契数列,兔子数列,黄金分割数列,随着数列项数
的增加,前一项与后一项之比越来越逼近黄金分割的数值,
0.6180339887
学生学习兔子序列的2个重要特征
意在让学生学习掌握兔子数列的两个特征。一是迭代。二是黄金分割。
教师介绍迭代的概念
第1个月和第2个月的兔子的对数之和为第3个月的兔子对数,第2个月和第3个月的兔子对数之和为第4个月的兔子对数……,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。
迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并达到抽需的目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
学习迭代法的含义,理解迭代法的迭代过程。
意在让学生学习迭代法的含义,理解迭代法的迭代过程。
Pythn 程序:
def fib(n):
#迭代求Fibnacci数列
f2=f1=1
fr i in range(3,n+1):
f1,f2=f2,f1+f2
return f2
n=int(input('输入需要计算的月份数:'))
print('兔子总对数为:',fib(n))
input("运行完毕,请按回车键退出...")
学习迭代程序,从程序中理解迭代过程。
学习迭代程序,从程序中理解迭代过程。
课堂小结
2 分钟
老师带领着学生一起回顾本节课的知识。
1、理解解数据的图形化表示,如利用wps表格绘图
2、掌握numpy模块和matpltlib模块的安装和使用
3、理解斐波那契数列
4、理解迭代法
跟着老师一起总结本节课的内容。
再次巩固本堂课的知识,体现教学的完
整性。
练习
1、尝试用Pythn绘制 y = x2 —2x + 1 的图像。
代码如下:
imprt numpy as np #加载numpy模块并取名为np
imprt matpltlib.pyplt as plt #加载matpltlib.pyplt并取名为plt
x=np.arange(-10,12,0.01)
y=x**2-2*x+1
plt.plt(x,y)
plt.title('一元二次方程')
plt.xlabel('X')
plt.ylabel('Y')
plt.shw()
尝试用Pythn绘制 y = x2 —2x + 1 的图像
巩固所学,熟悉numpy模块,matpltlib模块。
2、求解方程ax2+bx+c=0
imprt math
a=flat(input("请输入方程系数a(!=0):"))
b=flat(input("请输入方程系数b:"))
c=flat(input("请输入方程系数c:"))
d=b*b-4*a*c
if d>0:
x1=(-b+math.sqrt(d))/(2*a)
x2=(-b-math.sqrt(d))/(2*a)
print("方程有两个不同的解",x1,x2)
elif d==0:
x1=-b/(2*a)
print("方程有两个相同的解",x1)
else:
print("方程无解")
3、尝试用辗转相除法求解两个正整数的最大公约数。
参考答案:
num1=int(input('请输入第一个正整数:'))
num2=int(input('请输入第二个正整数:'))
m=max(num1,num2)
n=min(num1,num2)
r=m % n
while r!=0:
m=n
n=r
r=m % n
print('这两个数的最大公约数为:',n)
input("运行完毕,请按回车键退出...")
4、牛顿迭代法求解x5+x4+x-3=0
参考代码:
def f(x):
#定义f(x)函数,计算f(x)=x5+x4+x-10
f=x**5+x**4+x-10
return f
def f1(x):
#定义f(x)函数,求导数f1(x)= 5*x4+4*x3+1
f1=5*(x**4)+4*(x**3)+1
return f1
#设置初始值
x=1
x1=2 #x1的初值只要确保|x-x1|>1e-10就可以
print('迭代过程中的x值:')
#根据迭代公式计算
while abs(x-x1)>1e-10:
x1=x
y1=f(x)
y2=f1(x1)
x=x1-y1/y2
print(x)
学生求解方程ax2+bx+c=0
让学生通过求解方程的程序,培养解决问题的能力。
高中信息技术教科版 (2019)必修1 数据与计算4.2 数值计算第一课时教案: 这是一份高中信息技术教科版 (2019)必修1 数据与计算4.2 数值计算第一课时教案,共4页。教案主要包含了导入,新知新授,实践探究,总结等内容,欢迎下载使用。
高中信息技术教科版 (2019)必修1 数据与计算4.2 数值计算第二课时教案设计: 这是一份高中信息技术教科版 (2019)必修1 数据与计算4.2 数值计算第二课时教案设计,共4页。教案主要包含了导入,新知新授,迭代法,作业等内容,欢迎下载使用。
高中信息技术教科版 (2019)必修1 数据与计算4.3 非数值计算优质第一课时教学设计: 这是一份高中信息技术教科版 (2019)必修1 数据与计算4.3 非数值计算优质第一课时教学设计,文件包含43非数值计算第一课时教案docx、43非数值计算第一课时学案doc等2份教案配套教学资源,其中教案共4页, 欢迎下载使用。