资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,Page,*,单击此处编辑母版文本样式,第二级,第三级,第四级,单击此处编辑母版标题样式,2.3循环结构,2.3循环结构,前面我们学习了算法的基本结构:顺序结构与选择结构,它们可以利用框架结构来说明,A,B,选择结构,满足条件,A,B,是,否,顺序结构,满足条件,A,是,否,复习回顾,前面我们学习了算法的基本结构:顺序结构与选择结构,它,1.,(,2009,上海卷),某算法的程序框图如图所示,则输出量,y,与输入量,x,满足的关系式是,.,2,x,(,x,1),x,-2 (,x,1),y,=,1.(2009上海卷)某算法的程序框图如图所示,则输出,循环结构的设计步骤,(1),确定循环结构的循环变量和初始条件,;,(2),确定算法中需要反复执行的部分,即循环体;,(3),确定循环的终止条件,.,循环结构,循环结构的三要素,循环变量,循环体、循环的终止条件,.,循环结构一定包含条件结构,用以控制循环过程,避免出现“死循环”,.,判断框内写上条件,两个出口分别对应终止条件成立与否,其中一个指向循环体,经过循环体回到判断框的入口处,.,循环结构的设计步骤(1)确定循环结构的循环变量和初始条件;循,循环结构的算法框图,循环变量,=,初 值,循环体,循环变量,=,循环变量的后继值,终止条件是否成立,是,否,始,循环结构的算法框图循环变量=初 值循环体循环变量=循环变量,类型二,循环结构的类型,先判断条件,当条件满足,再执行循环体,;,当条件不满足,循环结束,.,先执行循环体,再判断条件,若条件不满足,再执行循环体,;,直到条件满足,循环结束,.,满足条件?,循环体,是,否,满足条件?,循环体,是,否,类型一,类型二循环结构的类型先判断条件,当条件满足,再执行循环体;当,求:,1+,1/2,+,1/,3+,1/,10,00,0,的值,第一步,:,令,第二步,:,若 成立,则执行第三步;否则,输出,S,结束算法,.,第四步,:,返回第二步,.,循环结构,第三步,:,求:1+1/2+1/3+1/10000的值第一步:令,开始,N,输出,结束,计数变量,:,用于记录循环次数,同时还用于判断循环是否终止,.,累加变量,:,用于输出结果,一般与计数变量同步执行,累加一次,计数一次,.,循环终止条件,循环体,循环变量,Y,开始N输出结束计数变量:用于记录循环次数,同时还用于判断循环,开始,Y,输出,结束,N,类型二,第三步,:,求,1+2+3+100,第一步,:,令,第四步,:,若 成立,则输出,S,结束算法,.,否则,返回第二步,.,第二步,:,开始Y输出结束N类型二第三步:求1+2+3+100第,类型一,开始,N,输出,结束,Y,类型一开始N输出结束Y,按如图所示的程序框图运行后,若输出的,S,的值等于,16,,那么在程序框图中的判断框内应填写的条件是(),A.,i,5,?,B.,i,6,?,C.,i,7,?,D.,i,8,?,A,例题1,A例题1,从循环体中计数变量入手,确定循环次数为多少时,运行结束,即可确定判断框内的条件,.,对于,i,=1,S,=1,时,执行,S,=,S,+,i,后,,S,=2,,执行,i,=,i,+1,后,,i,=2,;,i,=2,S,=2,时,执行,S,=,S,+,i,后,,S,=4,,执行,i,=,i,+1,后,,i,=3,;,i,=3,S,=4,时,执行,S,=,S,+,i,后,,S,=7,,执行,i,=,i,+1,后,,i,=4,;,从循环体中计数变量入手,确定循环次数为多少时,运行,i,=4,S,=7,时,执行,S,=,S,+,i,后,,S,=11,,执行,i,=,i,+1,后,,i,=5,;,i,=5,S,=11,时,执行,S,=,S,+,i,后,,S,=16,,执行,i,=,i,+1,后,,i,=6,,因为输出的,S,的值等于,16,,所以判断框内的条件为,i,5,,选,A.,在循环结构中,要注意根据条件设计合理的计数变量、累加变量及其个数,特别要求条件的表述要恰当、精确,.,i=4,S=7时,执行S=S+i后,S=11,执行i=i+1,例题2,菲波拉契数列表示的是这,样一列数:0,1,1,2,3,5,,,,后一项等于前两项的和.设计一个,算法流程图,输出这个数列的前50项.,开始,A,=0,B,=1,输出,A,B,i,=3,结束,i50,C=A+B,输出,C,A=B,B=C,i,=i+1,算法:,A=0,B=1,输出A,B,C=A+B,输出C,执行至此,已经输出了数列的前三项,,可以释放掉这3个变量代表的数值,,赋予变量新的数值:,A=B;(用A表示数列的第2项),B=C;(,用B表示数列的第3项),C=A+B;输出C,例题2 菲波拉契数列表示的是这开始A=0,B=1输出A,B,例题3:,设计算法流程图,求解方程,x,3,+4,x,-10=0在区间0,2内的解(精确至10,-5,),开始,a,=0,b,=1,a,=(,a,+,b,)/2,输出,(,a,+,b,)/2,结束,f,(,a,+,b,)/2)=0,是,f,(,a,),f,(,a,+,b,)/2)0,b,=(,a,+,b,)/2,否,b,-,a,100?,结束,是,否,输出,S,开始,S=1,i=2,S=S*i,i=i+1,i100?,结束,是,否,输出,S,练习1.写出123100的一个算法开始S=1,2.,如图所示的程序框图的算法功能,。,,输出结果为,i,=,,,i,+2=,.,若,i,=2,,则,i,+2,也是偶数,.,而由程序框图中有循环结构可知,算法功能为求积是,624,的相,求积是,624,的相邻两个偶数,24,26,邻两个偶数,.,填:求积是,624,的相邻两个偶数;,24,;,26.,易错点:对条件语句的理解,.,2.如图所示的程序框图的算法功能。若i=,探究,若将条件“,i,”改为“”,输出结果是什么?,2.,若将”,i,i+1”,与,“,S,S+i”,交换,则输出结果是什么?,结束,输出,S,i,1,,,S,0,开始,s,s+i,i,i+1,i=,?,否,是,探究若将条件“i”改为“”,输出结果是什么,2.,(,2009,浙江卷),某程序框图如图所示,该程序运行后输出的,k,的值是(,),A.4,B.5,C.6,D.7,A,2.(2009浙江卷)某程序框图如图所示,该程序运行后输出,对于,k,=0,S,=0,时,执行,S,=,S,+2,S,后,,S,=1.,此时执行,k,=,k,+1,后,,k,=1.,当,k,=1,,,S,=1,时,执行,S=S,+2,S,后,,S,=1+2,1,=3,,此时执行,k,=,k,+1,后,,k,=2.,当,k,=2,,,S,=3,时,执行,S,=,S,+2,S,后,,S,=3+2,3,=11,,此时执行,k,=,k,+1,后,,k,=3.,当,k,=3,,,S,=11,时,继续执行,S,=,S,+2,S,=11+2,11,,执行,k,=,k,+1,后,,k=4,,此时,11+2,11,100,,故输出,k,=4.,对于k=0,S=0时,执行S=S+2S后,S=1.此时,例,2.,某工厂,2005,年的年生产总值为,200,万元,技术革新后,预计每年生产总值都比前一年增长,5%,设计一个程序图,输出预计年生产总值超过,300,万元的最早年份。,例2.某工厂2005年的年生产总值为200万元,技术革新后,算法,第一步:输入,2005,年的年生产总值,.,第二步:计算下一年的年生产总值,.,第三步:判断所得结果是否大于,300.,若是,输出该年年份,;,否则,返回第二步,.,循环结构的设计步骤,(1),确定循环结构的,循环变量,和,初始条件,;,(2),确定算法中需要反复执行的部分,即,循环体,;,(3),确定循环的,终止条件,.,直到型循环结构,当型循环结构,算法第一步:输入2005年的年生产总值.第二步:计算下一年的,开始,否,结束,输出,是,开始,结束,输出,否,是,开始否结束输出是开始结束输出否是,N,Y,N,Y,课堂小结,类型一,类型二,NYNY课堂小结类型一类型二,
展开阅读全文