《高中数学:1.1.3《算法的三种基本逻辑结构和框图表示》课件(新人教B版必修3)2》由会员分享,可在线阅读,更多相关《高中数学:1.1.3《算法的三种基本逻辑结构和框图表示》课件(新人教B版必修3)2(22页珍藏版)》请在金锄头文库上搜索。
1、1.1.3算法的三种基本逻辑结构和框图算法的三种基本逻辑结构和框图表示表示(三三)三、循环结构三、循环结构 在科学计算中,会遇到许多在科学计算中,会遇到许多有规律有规律的的重复运算重复运算,例如人口预测。,例如人口预测。 已经知道现有的人口总数是已经知道现有的人口总数是P,人口,人口的年增长率是的年增长率是R,预测第,预测第T年后人口总数年后人口总数将是多少?将是多少? 问题的分析:问题的分析:(1)第一年后的人口总数是)第一年后的人口总数是P+PR=P(1+R);(2)第二年后的人口总数是)第二年后的人口总数是P(1+R)+P(1+R)R=P(1+R)2;以此类推,得到第以此类推,得到第T年
2、后的人口总数是年后的人口总数是P(1+R)T. 这就是说,如果要计算第这就是说,如果要计算第10年后的人口年后的人口总数,乘总数,乘(1+R)的运算要重复的运算要重复10次。次。 如果一个计算过程,要如果一个计算过程,要重复一系列的计重复一系列的计算步骤若干次算步骤若干次,每次重复的计算步骤完全,每次重复的计算步骤完全相同,则这种算法过程称为相同,则这种算法过程称为循环过程循环过程。 循环过程非常适合计算机处理,因为循环过程非常适合计算机处理,因为计算机的运算速度非常快执行成千上万次计算机的运算速度非常快执行成千上万次的重复计算,只不过是一瞬间的事,且能的重复计算,只不过是一瞬间的事,且能保证
3、每次的结果都正确。保证每次的结果都正确。 根据指令条件决定根据指令条件决定是否重复执行一条是否重复执行一条或多条指令或多条指令的控制结构称为的控制结构称为循环结构循环结构。否否是是开始开始输入第一年人口输入第一年人口P人口增长率人口增长率R,预测第预测第T年年增长时间增长时间t=1tTt=t+1P=P+I计算增量计算增量I=PR结束结束输出输出P值值 变量变量P在计算机中由一个地址单元和一在计算机中由一个地址单元和一个存储单元组成,计算机工作时,先找个存储单元组成,计算机工作时,先找到到P的地址单元,用读写头读出存储单元的地址单元,用读写头读出存储单元的内容,将此内容送到运算器中,进行的内容,
4、将此内容送到运算器中,进行P+I的运算,再用读写头读出运算器的运的运算,再用读写头读出运算器的运算结果,将它送到算结果,将它送到P的地址单元,将运算的地址单元,将运算结果写入存储单元,同时原先存储的内结果写入存储单元,同时原先存储的内容被擦去,这样就完成了用容被擦去,这样就完成了用P+I代替代替P的的过程,这一过程也可以写成过程,这一过程也可以写成“P=P+I”.“P=P+I”怎样理解怎样理解?循环结构特点循环结构特点 需要重复执行同一操作的结需要重复执行同一操作的结构称为循环结构,即从某处开构称为循环结构,即从某处开始,按照一定的条件反复执行始,按照一定的条件反复执行某一处理步骤,反复执行的
5、处某一处理步骤,反复执行的处理步骤称为理步骤称为循环体循环体. 右图是一右图是一种常见的循环结构。种常见的循环结构。 它的功能是先执行它的功能是先执行A框,然后判断给定框,然后判断给定的条件是否成立,如果的条件是否成立,如果p条件不成立,则再条件不成立,则再执行执行A,然后再对,然后再对p条件作判断,如果条件作判断,如果p条件条件仍然不成立,又执行仍然不成立,又执行A,直到型循环结构直到型循环结构 另外,下图所示的框图也是常见的一另外,下图所示的框图也是常见的一种循环结构,它的功能是先判断条件种循环结构,它的功能是先判断条件p是是否成立,若成立,则执行否成立,若成立,则执行A框;再判断,框;再
6、判断,再执行,再执行,直到不符合条件时,就,直到不符合条件时,就终止循环,执行本循环结构后的下一步终止循环,执行本循环结构后的下一步程序。程序。当型循环结构当型循环结构 例例2. 设计一个计算设计一个计算“1+2+3+100” 的值的算法,并的值的算法,并画出程序框图画出程序框图解解:只需要一个只需要一个累加变量累加变量和一个和一个计数变量计数变量,将累加变量的初始值设为将累加变量的初始值设为0,计数变量的值,计数变量的值可以从可以从1到到100. 算法:算法:S1 i=1;S2 s=0;S3 如果如果i100,则执行,则执行S4,S5, 否则执行否则执行S6;S4 s=s+i,S5 i=i+
7、1;S6 输出输出s.开始开始输出输出s结束结束i100s=s+ii=i+1i=1s=0是是否否例例3. 设计一个求满足设计一个求满足“1+3+5+n2008” 的的n的最小值的的最小值的算法,并画出程序框图算法,并画出程序框图解解:在这个问题中,需要累加多少次,事先在这个问题中,需要累加多少次,事先并不知道,为此我们采用并不知道,为此我们采用直到型直到型的循环的循环. 算法:算法:S1 n=1;S2 s=1;S3 如果如果s2008,则执行,则执行S6 , 否则执行否则执行S4,S5 ;S4 n=n+2 ,S5 s=s+n ;S6 输出输出n.开始开始输出输出n结束结束s2008n=n+2s
8、=s+nn=1s=1是是否否例例4. 已知已知n个正整数排成一行如下:个正整数排成一行如下:a1,a2,a3,an1,an,其中下脚码,其中下脚码表示表示n个数的排列位置,这一行数满足条个数的排列位置,这一行数满足条件:件:a1=1,a2=1,an=an2+an1(n3,nN),画出计算第画出计算第n项的程序框图。项的程序框图。 分析:分析:a1=1,a2=1,an=an2+an1,所以,所以a3=2,a4=3,a5=5,ak=ak2+ak1, 我们看到我们看到ak,ak2,ak1,都是,都是k的函的函数,数值随数,数值随k而变化。而变化。 因此在框图中要引入三个变量,分别用因此在框图中要引入
9、三个变量,分别用C、A、B表示表示ak,ak2,ak1,且首先要,且首先要输入正整数输入正整数n (n3),以及给,以及给A和和B分别输分别输入数值入数值1,1,然后循环计算。,然后循环计算。 否否是是开始开始输入输入nA=1, B=1, k=3knk=k+1A=B, B=CC=A+B结束结束输出输出C例例5. 画出计算画出计算 值的一个算法值的一个算法程序框图程序框图.开始开始输出输出s结束结束i10s=s+1/ii=i+1i=1s=0是是否否例例6. 画出对画出对x=1,2,3,10,求求x2的算法的程序的算法的程序框图框图.开始开始结束结束x10y=x2x=x+1x=1是是否否输出输出y
10、例例7. 已知函数已知函数f(x)=x2,把区间,把区间3,3 10等分,画出求等分点函数值算法的程序框等分,画出求等分点函数值算法的程序框图图.解:把区间解:把区间3,3 10等分,每一份的等分,每一份的长度为长度为 ,所以各等分点分别为,所以各等分点分别为3+ 1,3+ 2,3+ 3,3+ 9代入代入函数解析式即可求值函数解析式即可求值. 例例8.设计计算设计计算13+33+53+993的算法程序,的算法程序,并画出相应的流程图。并画出相应的流程图。 p=0i=1p= p+i3i=i+2i 99YN输出输出p算法如下算法如下: p=0; i =1;S1S2S3 p=p +i 3;S4 i =i+2;S5 若若i 99,则输出则输出p,否则转否则转S3.