求数列中连续数值组成的等差数列最大长度_高中信息技术【必修1】4.2数值计算...

285e32aa97dc799833394a85f6b81270.gif

学习目标

★感受数据的图形化表示。
★设计解析式或迭代方程,进行数值计算,解决问题。

★了解数值类算法在实际问题解决时的应用及常用方法。

本课要点

人们对计算机的最初应用大多是数值计算,主要借助计算机运算速度快、精确度高的特点来解决各种数学问题,如函数的计算、方程的求解、数列求和等都属于数值计算。

任务一 绘制数学函数曲线

304fd2a830dbbb5810d5bb0fb72c8827.png

活动1 用WPS表格绘制正弦曲线

8bbdb4be487c53877f15ec8415bde1f5.png

a3229b861836edaa8b22b76f165d8ab8.png

活动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() #将绘制的函数图像窗口显示出来

11ff65071e9d3e08df31c38bbdc25bb2.png

程序设计:

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() #将绘制的函数图像窗口显示出来

任务二 求解斐波那契数列

304fd2a830dbbb5810d5bb0fb72c8827.png

活动1  用WPS求解数列

3c6980ce882b45a5e7d7086c4645f4ec.png

23a202b1b9c7ba66671834889eafe180.png

活动2 用Python求解数列

迭代法也称辗转法,是用计算机解决问题的一种基本方法。迭代通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。

5dd84e7177c222c915caf8aa3aa01e36.png

程序设计:

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)

1465e0273a810222e05c3df94570497e.png

备课素材包

链接:

https://pan.baidu.com/s/1hdRqUIY3yJqNTIT7TwfejA

提取码:nab2

2c6553bdf4e283e61a5628a714c1bb9a.png

往期精彩链接:

【视频讲解】山东省信息技术通用技术学业水平考试模拟试题讲解合集【在线答题】山东省高中信息技术学业水平考试模拟试题1-10套

【试题文本】2020年高中学考信息技术15套和通用技术12套合集

高中信息技术【必修1】3.2数据与结构

高中信息技术【必修1】3.1数据编码

高中信息技术【必修1】3.3数据与系统

高中信息技术【必修1】3.4加密与解密

高中信息技术【必修1】4.1算法及其特征

免责声明:本文转载于李雪梅名师工作室微信号,整理转发旨在传播优质信息资源,如涉及版权等问题,我们将立即更正或删除相关内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值