1、第三课时循环结构,循环结构(1)概念:在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.可以用如图所示的程序框图表示.(2)直到型循环结构:如图所示,其特征是:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.(3)当型循环结构:如图所示,其特征是:在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环.,名师点拨1.对循环结构的理解:(1)循环结构中包含顺序结构、条件结构.(2)循环结构实质上是判断和处理的结合,可以先判断,再处理,此时是当型循环结构;也可以先处
2、理再判断,此时是直到型循环结构.(3)循环结构中常用的几个变量:计数变量:即计数器,用来记录执行循环体的次数,如i=i+1,n=n+1.累加变量:即累加器,用来计算数据之和,如S=S+i.累乘变量:即累乘器,用来计算数据之积,如P=Pi.在程序框图中,一般要根据实际情况先给这些变量赋初始值.一般情况下,计数变量的初始值为1,累加变量的初始值为0,累乘变量的初始值为1.,2.当型循环结构与直到型循环结构的联系和区别(1)联系当型循环结构与直到型循环结构可以相互转化;循环结构中必然包含条件结构,以保证在适当的时候终止循环;循环结构只有一个入口和一个出口;循环结构内不存在死循环,即不存在无终止的循环
3、.(2)区别直到型循环结构是先执行一次循环体,然后再判断是否继续执行循环体,当型循环结构是先判断是否执行循环体;直到型循环结构是在条件不满足时执行循环体,当型循环结构是在条件满足时执行循环体.要掌握这两种循环结构,必须抓住它们的区别.,做一做下列框图是循环结构的是()A.B.C.D.解析:为顺序结构,为条件结构,为当型循环结构,为直到型循环结构.故选C.答案:C,探究一,探究二,探究三,探究四,利用循环结构解决累加(乘)求值问题如果算法问题里涉及的运算进行多次重复的操作,且先后参与运算的各数之间有相同的变化规律,就可以引入循环变量参与运算,构成循环结构.在循环结构中,要注意根据条件设置合理的计
4、数变量,累加(乘)变量,同时条件的表述要恰当,精确.累加变量的初值一般为0,而累乘变量的初值一般为1.,探究一,探究二,探究三,探究四,典例提升1设计求12342 0142 015的算法,并画出程序框图.思路分析:可采用当型循环结构,也可采用直到型循环结构.解:算法步骤如下:第一步,设M的值为1.第二步,设i的值为2.第三步,如果i2 015,则执行第四步;否则,执行第六步.第四步,计算M乘i,并将结果赋给M.第五步,计算i加1并将结果赋给i,转去执行第三步.第六步,输出M的值,并结束算法.,探究一,探究二,探究三,探究四,程序框图如图所示:,探究一,探究二,探究三,探究四,规律方法利用循环结
5、构表示算法,第一要先确定是利用当型循环结构,还是直到型循环结构;第二要选择准确的表示累计的变量;第三要注意在哪一步开始循环,满足什么条件不再执行循环体.,探究一,探究二,探究三,探究四,变式训练1设计求12+22+32+n2的一个算法,并画出相应的程序框图.解:算法步骤如下:第一步,令i=1,S=0.第二步,S=S+i2.第三步,i=i+1.第四步,若i不大于n,则转到第二步,否则输出S.程序框图:,探究一,探究二,探究三,探究四,利用循环结构求满足条件的最大(小)整数问题在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或中止循环体的条件中,且往往参与计算,一旦条
6、件满足就把此时的变量输出,这就是我们需要的最大(小)值.,探究一,探究二,探究三,探究四,典例提升2写出一个求满足1357n50 000的最小正整数n的算法,并画出相应的程序框图.思路分析:利用循环结构重复操作,可求出最小正整数.解:算法步骤如下:第一步,S=1.第二步,i=3.第三步,如果S50 000,那么S=Si,i=i+2,重复第三步;否则,执行第四步.第四步,i=i-2.第五步,输出i.此时输出的i的值就是满足题意的最小正整数n.,探究一,探究二,探究三,探究四,程序框图如图所示.,探究一,探究二,探究三,探究四,方法总结解答这类问题要注意以下几点:(1)要明确数字的结构特征决定循环
7、的终止条件与循环次数.(2)注意要统计的数出现的次数与循环次数的区别.(3)要特别注意判断框中循环变量的取值限止,是“”“”还是“”“”,它们的意义是不同的.,探究一,探究二,探究三,探究四,探究点一,探究二,探究三,探究四,循环结构的实际应用对于应用型问题,我们根据数学应用问题的解题模式,认真审题,先建立数学模型,结合实际要求和数学模型的特点,再分析、设计相应的算法.,探究点一,探究二,探究三,探究四,典例提升3以下是某次考试中某班15名同学的数学成绩(单位:分):72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,
8、画出该问题算法的程序框图.解:程序框图如下:,探究点一,探究二,探究三,探究四,易错辨析易错点对细节处理不正确而致误典例提升4画出求S=14+24+34+104的程序框图.错解:解法1:程序框图如图.,探究点一,探究二,探究三,探究四,解法2:程序框图如图.,探究点一,探究二,探究三,探究四,错因分析:图中将S=S+i4与i=i+1的顺序写反了.由于S=0,i=1,第一次执行i=i+1后i=2,再执行S=S+i4得S=0+24,这样执行的最后结果中没有1;另外,当执行到i=10时,执行i=i+1后i=11,S=S+114,故执行的最后结果中多了114.由此可知,若将两者的顺序写反,所得结果比真
9、实值大了114-1.图中缺少了“i=i+1”,程序成为“死循环”.,探究点一,探究二,探究三,探究四,正解:程序框图如图所示:,1 2 3 4 5,1.执行如图所示的程序框图,输出的S的值为()A.1B.3C.7D.15解析:开始时k=0,S=0.第一次循环,k=03,S=0+20=1,k=0+1=1,第二次循环,k=13,S=1+21=3,k=1+1=2,第三次循环,k=23,S=3+22=7,k=2+1=3.此时不满足条件k21?D.i21?解析:该程序框图中含有当型循环结构,判断框内的条件不成立时循环终止.由于是当i=21时开始终止循环,则在判断框中应填写i21?.答案:D,1 2 3
10、4 5,3.执行如图所示的程序框图,若输入n的值为6,则输出s的值为()A.105B.16C.15D.1解析:i=1,s=1;i=3,s=3;i=5,s=15;当i=7时,不满足i6,输出s=15.答案:C,1 2 3 4 5,4.执行如图所示的程序框图,输出的k的值为.解析:第一次循环得S=0+20=1,k=1;第二次循环得S=1+21=3,k=2;第三次循环得S=3+23=11,k=3,第四次循环得S=11+211=2 059,k=4,但此时不满足条件,退出循环,输出k=4.答案:4,1 2 3 4 5,解:程序框图如下:方法一:当型循环结构如图,1 2 3 4 5,方法二:直到型循环结构如图,