北师必修3课件:2-23《循环结构》好_第1页
北师必修3课件:2-23《循环结构》好_第2页
北师必修3课件:2-23《循环结构》好_第3页
北师必修3课件:2-23《循环结构》好_第4页
北师必修3课件:2-23《循环结构》好_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、2.3 2.3 循环结构循环结构1.1.进一步理解程序框图的概念;进一步理解程序框图的概念;2.2.掌握运用程序框图表达循环结构的算法;掌握运用程序框图表达循环结构的算法;3.3.培养学生逻辑思维能力与表达能力培养学生逻辑思维能力与表达能力. .开始开始输入输入a a1 1,a,a2 2,a,a3 3,a,a4 4,a,a5 5将将a a1 1,a,a2 2比较,大数记作比较,大数记作b b将将b,ab,a3 3比较,大数记作比较,大数记作b b将将b,ab,a4 4比较,大数记作比较,大数记作b b将将b,ab,a5 5比较,大数记作比较,大数记作b b输出输出b b结束结束1 1、若要从五

2、个不同的数找、若要从五个不同的数找出最大数,我们可以用什出最大数,我们可以用什么结构呢?么结构呢?顺序结构顺序结构如右图所示如右图所示2 2、设计一个算法、设计一个算法, ,求求100100个数中的最大数,画出算法框图个数中的最大数,画出算法框图. .我们是否还可以用上题的方法呢?我们是否还可以用上题的方法呢?不能,如果用上述的方法过程太繁杂了不能,如果用上述的方法过程太繁杂了. .下面介绍另一种结构来解决这类问题,下面介绍另一种结构来解决这类问题, 即循环结构即循环结构. .例例1 1 设计一个算法,输出设计一个算法,输出10001000以内能被以内能被3 3和和5 5整除的所有正整整除的所

3、有正整数,画出算法框图数,画出算法框图. .分析:分析:凡能被凡能被3 3和和5 5整除的正整数都是整除的正整数都是1515的倍数,由于的倍数,由于1000=151000=1566+1066+10,因此一共有,因此一共有6666个这样的正整数个这样的正整数. .解:解:引入变量引入变量a a表示待输出的数表示待输出的数, ,则则 a=15n (n=1,2,3,a=15n (n=1,2,3,,66 )66 ). . n n从从1 1变到变到6666,反复输出,反复输出a a,就能输出,就能输出10001000以内的所有能被以内的所有能被的正整数的正整数. .循环变量初始值循环变量初始值结束结束开

4、始开始n=1n=1a=15na=15n输出输出a an=n+1n=n+1n66n66否否是是循环体循环体循环的终止条件循环的终止条件循环变量的后继循环变量的后继变量变量n n控制循控制循环的开始和结环的开始和结束,称为束,称为循环循环变量变量. .开开 始始 输出输出“y y 不是闰年不是闰年”4 4 整除整除 y y100100 整除整除 y y400 400 整除整除 y y 输出输出“y y 是闰年是闰年”否否否否是是是是是是否否y=2000y=2000y:=y+1y:=y+1Y2500Y2500否否结束结束是是例例2 2 阅读右图中所示的框图,阅读右图中所示的框图,回答下列问题:回答下

5、列问题:(1 1)变量)变量y y在这个算法在这个算法中的作用是什么?中的作用是什么?(2 2)这个算法的循)这个算法的循环体是哪一部分,功环体是哪一部分,功能是什么?能是什么?变量变量y y是循环变量,控制是循环变量,控制着循环的开始和结束着循环的开始和结束. .红虚线所框部分,其功红虚线所框部分,其功能是判断年份能是判断年份y y是否是是否是闰年,并输出结果闰年,并输出结果. .(3 3)这个算法的处理功能是什么?)这个算法的处理功能是什么?由前面的分析,我们知道,这个算法的处理功能是:由前面的分析,我们知道,这个算法的处理功能是:判断判断2000200025002500(包括(包括250

6、02500)年中,哪些年份是闰年,)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果哪些年份不是闰年,并输出结果. . 本节主要介绍如何用循环结构来描述算法,一般地,在本节主要介绍如何用循环结构来描述算法,一般地,在画出算法框图之前,需要确定三要素:画出算法框图之前,需要确定三要素:确定循环变量和初始条件;确定循环变量和初始条件;确定算法中反复执行的部分,即循环体;确定算法中反复执行的部分,即循环体;确定循环的终止条件确定循环的终止条件. .循环结构的算法框图为:循环结构的算法框图为:循环变量循环变量= =初始值初始值循环体循环体循环变量循环变量= =循环变量的后继值循环变量的后继值终止条件

7、是否成立终止条件是否成立否否是是开始开始结束结束例例3 3 设计一个算法设计一个算法, ,求求100100个数中的最大数,画出框图个数中的最大数,画出框图. .引入变量引入变量 b b与与i,i,并用并用a ai i(i=1,2,3i=1,2,3,100100)表示待比)表示待比较的数较的数(b(b为最大值,先令为最大值,先令b=ab=a1 1) )算法中的循环部分为比较算法中的循环部分为比较b b与与a ai i的大小的大小,如果,如果bab100i100是是否否是是是是开始开始输入输入a a1 1,a,a2 2,,a a100100i=2i=2b=ab=a1 1bb100i100输出输出b

8、 b结束结束否否赋予变量初始值赋予变量初始值循环体循环体循环的终止条件循环的终止条件循环变量的后继循环变量的后继例例4 4 菲波拉契数列表示的是这样一列数菲波拉契数列表示的是这样一列数: 0: 0,1 1,1 1,2 2,3 3,5 5,从第三项起每一项等于前两项的和,从第三项起每一项等于前两项的和. .设计一个设计一个算法框图算法框图, ,输出这个数列的前输出这个数列的前5050项项. .分析:分析: 设置设置5050个个变量:变量:A A1 1,A,A2 2,A,A3 3, , A, A5050, ,表示斐波那契数列表示斐波那契数列的前的前5050项项. .由这个递推关系知道由这个递推关系

9、知道, ,只要知道这个数列的前两项只要知道这个数列的前两项, ,就能就能将后面的所有项都输出来将后面的所有项都输出来, ,因为算法中因为算法中, ,反复计算和输出的反复计算和输出的步骤都是一样的步骤都是一样的, ,因此因此, ,可以用循环结构来描述这个算法可以用循环结构来描述这个算法, ,如果设如果设A Ai-2i-2,A,Ai-1i-1,A,Ai i分别表示数列中连续的三项分别表示数列中连续的三项, ,则则A Ai-1i-1+A+Ai-2i-2A Ai i= =(1 1)循环变量和初始条件:设下标)循环变量和初始条件:设下标i i为循环变量,为循环变量,3 3为为i i的初始值的初始值. .

10、(2 2)循环体:)循环体:算法中反复执行部分为算法中反复执行部分为:A:Ai iA Ai-1i-1+A+Ai-2i-2; ;输出输出A Ai i(3 3)终止条件:当)终止条件:当i50i50时时, ,算法结束算法结束. .解解: : 算法框图如图所示:算法框图如图所示:i50i50开始开始输出输出A Ai ii=i+1i=i+1否否结束结束是是A A1 1=0,A=0,A2 2=1=1i=3i=3A Ai i=A=Ai-1i-1+A+Ai-2i-2输出输出A A1 1,A A2 2思考:思考:(1 1)你还记得二分法吗?二分法的步骤是什么?)你还记得二分法吗?二分法的步骤是什么?(2 2)

11、怎样设计本题的算法?)怎样设计本题的算法?(3 3)算法框图如何画?)算法框图如何画?例例5我们知道,对于给定的一元方程,要求精度为我们知道,对于给定的一元方程,要求精度为0.010.01的近的近似解的算法如下:似解的算法如下:(2)(2)如果不为如果不为0,0,则分下列两种情形则分下列两种情形: :分析理解分析理解(2)(2)如果区间长度大于如果区间长度大于0.01,0.01,则在新的有解区间的基础上重则在新的有解区间的基础上重复上述复上述2-52-5步骤步骤. .5 5、判断新的有解区间的长度是否不大于、判断新的有解区间的长度是否不大于0.01:0.01:(1)(1)如果区间长度不大于如果

12、区间长度不大于0.01,0.01,则此区间内任意值均可作为则此区间内任意值均可作为方程的近似解方程的近似解; ;在上述算法中在上述算法中: :(1)(1)循环变量和初始条件循环变量和初始条件(2)(2)循环体循环体(3)(3)终止条件终止条件算法框图如图算法框图如图开始开始结束结束否否是是是是否否是是否否画虚线部分在算法中有什么作用?画虚线部分在算法中有什么作用?思考题:思考题:请观察给出的框图请观察给出的框图, ,这是这是一个求和算法的框图一个求和算法的框图, ,请运行几步看一请运行几步看一看看, ,指出该循环结构的循环体指出该循环结构的循环体, ,循环变循环变量和循环的终止条件量和循环的终

13、止条件. .开始开始s=0s=0i=1i=1输出输出s ss=s=s+is+ii4i4结束结束否否是是i=i+1i=i+1循环变量:循环变量: i i终止条件:终止条件: i4i4处理功能:处理功能:s=1+2+3+4=10s=1+2+3+4=10输出结果:输出结果:1010循环体循环体开始开始s=0s=0i=1i=1输出输出s ss=s=s+is+ii4i4结束结束否否是是i=i+1i=i+1变式变式: :若改为右图若改为右图, ,则输出则输出的结果为的结果为_._.141 1、_n=1n=1a=15na=15n输出输出a an=n+1n=n+1n66n66结束结束否否是是开始开始说出下列各框图输出的结果说出下列各框图输出的结果: :15, 30, 45, 15, 30, 45, 990990(1 1题图)题图)n=1n=1a=15na=15n输出输出a an=n+1n=n+1n66n66结束结束否否是是开始开始9902 2、_(2 2题图)题图)1.1.理解循环结构的逻辑,主要用在反复做某项工作的问题中;理解循环结构的逻辑,主要用在反复做某项工作的问题中;2.2.画循环结构程序框图前:画循环结构程序框图前:确定循环变量和初始条件;确定循环变量和初始条件;确定算法中反复执行的部分,即循环体;确定算法中反复执行的部分,即

温馨提示

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

评论

0/150

提交评论