学习目标
★感受数据的图形化表示。
★设计解析式或迭代方程,进行数值计算,解决问题。
★了解数值类算法在实际问题解决时的应用及常用方法。
本课要点
人们对计算机的最初应用大多是数值计算,主要借助计算机运算速度快、精确度高的特点来解决各种数学问题,如函数的计算、方程的求解、数列求和等都属于数值计算。
任务一 绘制数学函数曲线
活动1 用WPS表格绘制正弦曲线
活动2 利用Python绘制正弦曲线
一、numpy模块简介
numpy是一个科学计算包,其中包含很多数学函数,如三角函数、矩阵计算方法等。通过该模块中的arange函数可以创建一个等差数列。如在0~2π之间每隔0.01取个值,则可以用arange(0,2*numpy.pi,0.01)来表示,其中numpy.pi表示π。下列代码可以产生sin(x)的若干个关键点。
import numpy as np #加载numpy模块并取名为np
x=np.arange(0,2*np.pi,0.01) #x在0到2π之间,每隔0.01取一个点
y=np.sin(x) #通过解析式计算列表x对应的列表y的值
二、matplotlib模块简介
matplotlib模块是Python中最出色的绘图库,功能很完善。调用matplotlib.pyplot时,坐标系可以根据数值范围自动生成。
matplotlib的绘图原理很简单,利用plot画线函数就可以在直角平面内轻松地将(x,y)坐标点对连接成平滑曲线。例如:在上述代码的适当位置增加下列语句,就可以将刚才生成的关键点连接起来。
import matplotlib.pyplot as plt #加载matplotlib.pyplot并取名为plt
plt.plot(x,y) #将点对连线 绘制sin(x)图像
plt.show() #将绘制的函数图像窗口显示出来
程序设计:
import numpy as np #加载numpy模块并取名为np
import matplotlib.pyplot as plt #加载matplotlib.pyplot并取名为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.plot(x,y1) #绘制sin(x)图像
plt.plot(x,y2) #绘制sin(-x)图像
plt.plot(x,y3) #绘制sin(2*x)/2图像
plt.title('sin(x)') #设置图像标题
plt.xlabel('X') #设置X轴标题
plt.ylabel('Y') #设置Y轴标题
plt.show() #将绘制的函数图像窗口显示出来
任务二 求解斐波那契数列
活动1 用WPS求解数列
活动2 用Python求解数列
迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
程序设计:
def fib(n):
#迭代求Fibonacci数列
f2=f1=1
for i in range(3,n+1):
f1,f2=f2,f1+f2
return f2
n=int(input('输入需要计算的月份数:'))
print('兔子总对数为:',fib(n))
利用迭代算法解决问题,有三个关键步骤:
(1)确定迭代变量,如活动2中的f1、f2。
(2)建立迭代关系式。
(3)对迭代过程进行控制,这是编写迭代程序必须考虑的问题,不能让迭代过程无休止地重复执行下去。
拓展练习
1.尝试用Python绘制y=x2-2x+ 1的图像。
2.尝试用辗转相除法求解两个正整数的最大公约数。
1参考答案:
import numpy as np #加载numpy模块并取名为np
import matplotlib.pyplot as plt #加载matplotlib.pyplot并取名为plt
x=np.arange(-10,12,0.01)
y=x**2-2*x+1
plt.plot(x,y)
plt.title('一元二次方程')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
2参考答案:
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)
备课素材包
链接:
https://pan.baidu.com/s/1hdRqUIY3yJqNTIT7TwfejA
提取码:nab2
往期精彩链接:【视频讲解】山东省信息技术通用技术学业水平考试模拟试题讲解合集【在线答题】山东省高中信息技术学业水平考试模拟试题1-10套
【试题文本】2020年高中学考信息技术15套和通用技术12套合集
高中信息技术【必修1】3.2数据与结构
高中信息技术【必修1】3.1数据编码
高中信息技术【必修1】3.3数据与系统
高中信息技术【必修1】3.4加密与解密
高中信息技术【必修1】4.1算法及其特征
免责声明:本文转载于李雪梅名师工作室微信号,整理转发旨在传播优质信息资源,如涉及版权等问题,我们将立即更正或删除相关内容。