迭代算法专题复习课件2025届高三高中信息技术复习_第1页
迭代算法专题复习课件2025届高三高中信息技术复习_第2页
迭代算法专题复习课件2025届高三高中信息技术复习_第3页
迭代算法专题复习课件2025届高三高中信息技术复习_第4页
迭代算法专题复习课件2025届高三高中信息技术复习_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.2迭代算法专题复习《数据与数据结构》code=’’+‘今’code=‘今’+‘天’code=‘今天’+‘的’code=‘今天的’+‘你’code=‘今天的你’+‘真’code=‘今天的你真’+‘的’.......①迭代变量:旧值推出新值,每一次迭代得到的结果是下一次迭代的初始值②迭代关系式:③迭代过程:执行若干次重复操作后,要设定迭代结束条件知识回顾:迭代code累加器code=code+s[x]foriinrange(len(s))迭代的三要素:【24.11绍兴一模】实现“解密”功能的部分Python程序如下,请在划线处填入合适的代码一、迭代的基本思想是一种不断用变量的旧值推出新值的过程。它是解决问题的一种基本方法,通过让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,这次迭代的结果都会用来作为下一次的初始值。常见的算法:数列求和斐波那契数列欧几里得算法进制转换辗转相除法&辗转相减法求最大公约数11235813213455...斐波那契螺旋线斐波那契数列:f(n)=f(n-1)+f(n-2)113258211334用f(n)来表示数列的第n项:斐波那契数列斐波那契螺旋线任务:尝试利用程序实现绘制斐波那契螺旋线。#用turtle绘制螺旋线,代码略f0=f1=1#斐波那契数列第1、2项赋值foriinrange(2,10):

#绘制前10项

f2=f1+f0

draw(f2)斐波那契螺旋线推导过程:1123581321f0f1f2f0f1f2f0f1f2f0=f1=1

#斐波那契数列第1、2项赋值foriinrange(2,10):

#求解斐波那契数列第3-10项

f2=f1+f0

draw(f2)#以f2为半径作图

f0=f1f1=f2斐波那契螺旋线旧值新值旧值如何推出新值f0、f1f2f2f0+f1f0f1f0f1f2f1迭代变量迭代关系式f1f2有n名同学参加秋游,已知每位同学随身携带一些现金。秋游地点有不同类型自行车若干辆供游客租用,每位同学优先使用自己携带的现金租车,现金不够时可使用公用经费补足费用。为方便财务管理,规定每位同学只能为自己租用自行车,且不会相互借钱。请编写程序计算这n个同学全部租到自行车所需要公用经费,并且要求公用经费尽可能少。出谋划策:租车问题1.抽象与建模(1)每种类型的自行车存储在数组info中(包括租金和数量)。(2)n位同学随身携带的现金,用数组cash存储。(3)bike存储自行车的租金。(4)公用经费total=total+租车差价(5)

i表示当前最便宜的自行车的索引、每个同学所携带的现金索引。

出谋划策:租车问题结合模拟过程,写出计算total过程中的迭代三要素:①设定迭代变量:

;②确定迭代关系式:_____

;③重复步骤②,直到

迭代结束。1.抽象与建模totaltotal+=bike[i]-cash[i]i>=n若人数n=5,cash=[50,35,55,30,35],info=[[65,2],[45,2],[25,2]],bike=[25,25,45,45,65,65],则公用经费最少为_____元。20出谋划策:租车问题2.设计算法(1) 读取cash数组存储每个同学携带的现金,读取info数组存储自行车的租金及数量。(2) 对cash数组进行升序排序。(3) 对info数组按租金升序排序。(4) 初始化公用经费total为____。(5) 表示每辆自行车的租金bike初始化为空列表。(6)bike依次读取info数组中每辆自行车的租金。(7) 表示当前最便宜的自行车的索引i(每个同学所携带的现金索引)初始化为0。(8) 当________时,则转(9);否则,转(10)。(9) 如果cash[i]大于等于bike[i],该同学可以支付当前最便宜的自行车,不用补差价,更新i,指向下一辆自行车,指向下一位同学;否则:计算差额____________,计算total=____________________________,更新i,指向下一辆自行车,指向下一位同学。然后转(8)。(10)输出公用经费total。出谋划策:租车问题0i<ntotal+bike[i]-cash[i]bike[i]-cash[i]3.程序设计出谋划策:租车问题cash=sorted(cash)#对cash进行升序排序info=sort(info)#对info进行升序排序n=len(cash)bike=[]foriinrange(len(info)):forjinrange(info[i][1]):bike.append(info[i][0])j=0total=__①__foriinrange(__②___):

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论