第二单元 微项目3 用迭代算法探究数据变化的规律 课件(共19张PPT)-泰山版(2019)初中信息技术第二册

资源下载
  1. 二一教育资源

第二单元 微项目3 用迭代算法探究数据变化的规律 课件(共19张PPT)-泰山版(2019)初中信息技术第二册

资源简介

(共19张PPT)
微项目3
用迭代算法探究数据变化
的规律
Phthon编程------3迭代算法
学习目标
1.本项目的核心是理解迭代思想并运用循环结构完成迭代算法的编程实现,掌握迭代变量、迭代表达式的识别技巧,学会利用迭代算法设计程序进行问题推导。
2.迭代算法的关键是:
识别迭代变量
建立迭代表达式
控制迭代过程
跳绳是一项简单易行的体育运动。为了增强体质,甲乙两位同学各自制订了循序渐进的锻炼方案。
甲同学决定第一天跳绳100下,第二天开始每天增加5下。乙同学也决定第一天跳绳100加10下。
两位同学按照上述方案锻炼30天,各自的总运动量是多少下 看看谁的总运动量大。
活动1 观察数据累加的迭代算法
乙同学
训练日志
第一天: 100
第二天: 100
第三天: 110
第四天: …..….
甲同学
训练日志
第一天: 100
第二天: 105
第三天: 110
第四天: ……
1 观察数据累加规律
甲同学决定第一天跳绳100下,第二天开始每天增加5下。乙同学也决定第一天跳绳100下,以后每隔一天增加10下。
甲同学每天的跳绳次数(用a表示):
al=100 #第1天
a2=a1+5 #第2天
a3=a2+5 #第3天
2.初步设计迭代算法 ——模拟 第一次 迭代
乙同学每天的跳绳次数(用b表示):
bl=100 #第1天
b2=b1 #第2天
b3=b2+10 #第3天
迭代:是用旧值重复推出新值的过程。每一次迭代得到的结果会作为下一次迭代的初始值,如此一步步逼近所寻求的目标或得到需要的结果。
迭代关系
b1=100 #第1天
b2=b1 #第2天
b3=b2+10 #第3天
al=100 #第1天
a2=a1+5 #第2天
a3=a2+5 #第3天
#!/usr/bin/onv python3
#甲同学每天的跳绳次数
al=100 #第1天
a2=al+5 #第2天
a3=a2+5 #第3天
#乙同学每天的跳绳次数
b1=100 #第1天
b2=b1 #第2天
b3=b2+10 #第3天
#显示甲乙同学3天跳绳的总数
print(“甲同学3天共跳绳:,al+a2+a3,“下”)
print("乙同学3天共跳绳:",b1+b2+b3,“下”)
思考:尝试继续编写程序计算前10天的跳绳总数,
程序需要编写多少行?
(2)体验迭代算法程序----顺序结构
使用顺序结构描述送代虽然直观,但编程及程序运行效率低,当迭代次数较多时,使用顺序结构就显得力不从心。
可以尝试采用循环结构程序实现迭代算法。累计跳绳总数。
在构造循环结构程序之前,需要分析出送代关系,这样才能设计出相应的迭代程序
迭代算法是用计算机解决问题的基本方法之一。在使用迭代算法解决问题时,需要注意:
1.确定迭代变量。在可以使用迭代算法解决的问题中,至少存在一个迭代变量。
2.建立迭代关系式。这是解决迭代问题的关键。
3.控制迭代过程。要用循环结构程序让迭代自动进行。
活动2 用循环结构实现自动选代
(1)每天的跳绳数迭代关系
甲乙两位同学每天的跳绳数规律比较好找。在顺序程序设计中已经有体验,其选代关系式可如下表示:
甲同学每天跳绳数量迭代关系式:ai=ai-1+5 (i>=2)
乙同学每天跳绳数量迭代关系式:ai=ai-1(i为偶数,i>=2)和ai=ai-1+10(i为奇数,i>=3)
(1).分析数据的迭代关系
跳绳总量的迭代关系示意图
每人跳绳总数如图所示。由此图很容易发现其计算规律是以前的总数加当天的数量,如,甲同学跳绳总数的迭代关系式为xi=xi-1+ai (i>=2)。
(2).分析迭代过程的程序代码
【1】每天的跳绳数迭代过程
a=a+5 #甲同学每天都增加5次
if i%2=1: #当前天数为奇数时
b=b+10 #乙同学的跳绳次数增加10
甲同学每天跳绳100下,第2天开始每天增加5下;乙同学每天跳绳100下,每隔一天增加10下。用a表示甲同学每天的跳绳数,b表示乙同学每天的跳绳数。每天的跳绳数迭代过程为:
【2】新一天的跳绳累计总数迭代过程
用x表示新一天甲同学的总跳绳数,y表示新一天乙同学的总跳绳数,新一天的跳绳累计总数迭代关系为:
x=x+a
y=y+b
可以构建一个固定次数的循环来确定在什么时候结束迭代过程,在此过程中应用迭代公式让迭代变量自动迭代,计算出结果。
3.用循环结构程序实现自动迭代
运行完整的迭代程序,体验迭代的过程,并修改程序计算出n天后甲、乙两位同学各自的总运动量,比较谁的运动量更大、谁的训练更加科学。
for i in range(2, n+1):
a=a+5 #甲同学每天都增加5次
if i%2==1: #当前天数为奇数时
b=b+10 #乙同学的跳绳次数增加10次
# 计算甲乙同学跳绳的累加次数
x=x+a
y=y+b
#i/usr/ bin /env python3
a=100 # 甲同学第1天的跳绳次数
b=100 # 乙同学第1天的跳绳次数
#甲乙同学累计跳绳次数分别用x、y表示
X=a # 甲同学第1天累计跳绳次数
y=b # 乙同学第1天累计跳绳次数
n=30 # 跳绳的总天数
for i in range(2, n+1):
a=a+5 #甲同学每天都增加5次
if i%2==1: #当前天数为奇数时
b=b+10 #乙同学的跳绳次数增加10次
x=x+a # 计算甲乙同学跳绳的累加次数
y=y+b
#显示甲乙同学n大跳绳的总数
print(“甲同学,n,“天共跳绳”,x,下)
print("乙同学",n,天共跳绳",下)
跳绳总量的计算程序——迭代算法(循环结构)
#从第二天开始选代计算
for i in range(2, n+1):
a=a+5 #甲同学每天都增加5次
if i%2==1: #当前天数为奇数时
b=b+10 #乙同学的跳绳次数增加10次
x=x+a # 计算甲乙同学跳绳的累加次数
y=y+b
课堂小结:
迭代
迭代关系
迭代算法
语法
顺序结构
循环结构
算法效率?
课堂小结
1、什么是迭代算法?迭代算法的3要素的构成
2、迭代算法和循环结构的关系?
谢谢观看!

展开更多......

收起↑

资源预览