1、顺序结构顺序结构循环结构循环结构任何算法任何算法自然语言自然语言数学语言数学语言程序语言程序语言条件分支结构条件分支结构否否是是开始开始终止条件终止条件累加变量累加变量计数变量计数变量结束结束输出输出循环变量初始条件循环变量初始条件否否是是开始开始终止条件终止条件累加变量累加变量计数变量计数变量结束结束输出输出循环变量初始条件循环变量初始条件循环结构分为两种循环结构分为两种-当型和直到型当型和直到型.是是循环体循环体否否是是循环体循环体否否满足条件?满足条件?是是是是循环体循环体循环体循环体否否否否满足条件?满足条件?否否满足条件?满足条件?否否循环体循环体满足条件?满足条件?是是否否直到型循
2、直到型循环结构环结构当型循环当型循环结构结构循环结构的三要素循环结构的三要素例例1:某高中男子体育小组的某高中男子体育小组的50m跑成绩跑成绩(单位单位:s)为为:6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5.设计一个算法设计一个算法,从这些成绩中搜出小于从这些成绩中搜出小于6.8s的成绩的成绩.算法分析算法分析:第一步第一步:把计数变量把计数变量n的初值设为的初值设为1.第二步第二步:输入一个成绩输入一个成绩r,判断判断r与与6.8的大小的大小.若若r6.8,则执行下一步则执行下一步;若若r9,则结束则结束.开始开始n=1程序框图程序框图输入输入rr6.8是是n=n
3、+1n9是是否否输出输出r否否结束结束练习:练习:给出以下给出以下10个数:个数:5,9,80,43,95,73,28,17,60.要求把大于要求把大于40的数找的数找出来并输出,试画出该问题的程序框图出来并输出,试画出该问题的程序框图.开始开始i=1程序框图程序框图输入输入xX40是是i=i+1i10是是否否输出输出r否否结束结束直到型循直到型循环结构环结构例例2:画出:画出1!+2!+n!算法程序框!算法程序框 算法分析:算法分析:-输入输入n 赋初值赋初值 阶乘的初值阶乘的初值 t=1 和的初值和的初值s=0 确定循环次数确定循环次数 次数为次数为n,在循环体内求在循环体内求i的的阶乘阶
4、乘 t=t i,在循环体内累加在循环体内累加 s=s+t否否i=i+1t=t i是是开始开始in结束结束S=0,i=1,t=1,输出输出S输入输入nS=S+t例例3:有一个数列,前两项是有一个数列,前两项是1、1,第三项是前二,第三项是前二项之和,以后每一项都是前二项之和。即为:项之和,以后每一项都是前二项之和。即为:1、1、2、3、5、8、13、21,34。画出计算第画出计算第 n项的程序框图。项的程序框图。否否k=k+1是是开始开始kn结束结束A=1,B=1,k=3,输出输出 C输入输入nA=B,B=CC=A+B解决递推问题必须具备两个条件:解决递推问题必须具备两个条件:(1)有初始值,如
5、)有初始值,如a1=1、a2=1(2)存在递推关系。)存在递推关系。如如an=an-1+an-2(n 3)一般设置二或三个变量就可以了。一般设置二或三个变量就可以了。用用a1、a2、a3表示三个数,在循环中,表示三个数,在循环中,它们不断用新值代替旧值。它们不断用新值代替旧值。这种操作称为迭代这种操作称为迭代.该数列又称斐波那契数列。该数列又称斐波那契数列。这是一个递推问题这是一个递推问题由由“兔子问题兔子问题”引发引发例例4:有数列:有数列2/3、4/5、6/9、10/15求此数列前求此数列前30项的和的算法框图。项的和的算法框图。算法分析:算法分析:对于数列的题,首先要找出通项公式,对于数
6、列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,所需。由于数列的题一般执行次数能确定,此题,前后项的关系是:后一项的分子是此题,前后项的关系是:后一项的分子是前一项的分母加前一项的分母加1 1,后一项的分母是前一项,后一项的分母是前一项 的分子加分母。解题思路是用循环结构求的分子加分母。解题思路是用循环结构求各项,并把值累加,因为是求前各项,并把值累加,因为是求前3030项的和,项的和,循环执行循环执行3030次。次。1.初值初值i=2,j=3,s=0;2.用用n从从1到到30循环循环5.输出输出s;3.s=
7、s+i/j;4.c=i;i=j+1;j=c+j;否否n=n+1是是开始开始n30结束结束S=0,i=2,j=3,n=1输出输出SC=i,i=j+1,j=c+jS=S+i/j例例5:某城市缺水问题某城市缺水问题比较突出,为了制定比较突出,为了制定节水管理办法,对全节水管理办法,对全市居民某年的月均用市居民某年的月均用水量进行了抽样调查,水量进行了抽样调查,其中其中n位居民的月均用位居民的月均用水量分别为水量分别为x1xn(单位:吨单位:吨),根据图中,根据图中所示的程序框图,若所示的程序框图,若n=2,且且x1,x2 分别为分别为1,2,则输出地结果则输出地结果s为为 .ni )1(1212si
8、sis 开始开始s1=0,s2=0,i=1i=i+1是是输出输出S结束结束否否输入输入n,x1,x2,xn22211iixssxss 练习练习1:如图给出了一个程序框图,其功能是(:如图给出了一个程序框图,其功能是()开始开始S=0,n=3,i=0i=i+1n=n+3S0是是输出输出i结束结束否否nSS 1001A.求第几项使得求第几项使得S取得最大值取得最大值 B.求第几项使得求第几项使得S取得最小值取得最小值 D.以上结论都不对以上结论都不对C.求第几项使得通项求第几项使得通项 开始为负开始为负 n 1001练习练习2:如图:如图 是一个算法流程图,最后输出的是一个算法流程图,最后输出的W
9、 .开始开始T=1S=0S=T2ST=T+2是是输出输出W结束结束W=S+T10 S分析:第一次循环:分析:第一次循环:T=1,S=1 第二次循环:第二次循环:T=3,S=321=8 第三次循环:第三次循环:T=5,S=528=17 W=5+17=22否否练习练习3:阅读右图的程序框图,:阅读右图的程序框图,运行相应的程序运行相应的程序输出的输出的i=.开始开始i=1S=0S=S+aa=i 2 i是是输出输出i结束结束i=i+111 S否否练习练习4:阅读右图的程序框图,:阅读右图的程序框图,,若若n=100,则输出的变量则输出的变量S和和T的值依次是的值依次是 .开始开始S=0,T=0S=S
10、+nT=T+n是是输入输入n结束结束n=n12 n否否输出输出S,Tn=n1一、循环有两种类型:一、循环有两种类型:1、计数控制、计数控制控制累计执行循环体的次数控制累计执行循环体的次数次数已到则结束循环次数已到则结束循环如如1+2+3+100或或98+96+94+4+22、事态控制、事态控制由某些条件决定循环结束。由某些条件决定循环结束。如计算一系列正整数之和,遇负数停止循环。如计算一系列正整数之和,遇负数停止循环。在一个循环过程中可以同时使用这两种类型在一个循环过程中可以同时使用这两种类型课堂小结课堂小结二、循环结构中有两个基本问题需要考虑:二、循环结构中有两个基本问题需要考虑:(1)条件必须明确,能使循环过程正常结束;)条件必须明确,能使循环过程正常结束;(2)循环体内,必要时可改变控制循环的条件)循环体内,必要时可改变控制循环的条件改变可能导致循环结束改变可能导致循环结束改变也可能导致循环进入改变也可能导致循环进入无休止的状态(死循环)。无休止的状态(死循环)。课堂小结课堂小结休息一下!休息一下!同学们:同学们: