11.2.3 循环结构[学习目标] 1.掌握两种循环结构的程序框图的画法.2.能进行两种循环结构的程序框图的转化.3.能正确设计程序框图,解决有关实际问题.[知识链接](1)算法的基本逻辑结构有顺序结构、条件结构、循环结构;(2)在程序框图中,“i=1”表示“把数值1赋值给变量i,使得i的值变成了1”;(3)在对数的运算中,log25·log58=3.[预习导引]1.循环结构的定义在算法中,从某处开始按照一定的条件重复执行某些步骤的结构称为循环结构,其中反复执行的步骤形成循环体.2.常见的两种循环结构名称结构图特征直到型循环结构先执行循环体后判断条件p,若不满足条件p则执行循环体,否则终止循环当型循环结构先对条件p进行判断,满足时执行循环体,否则终止循环要点一 当型循环结构与直到型循环结构的应用例1 设计一个计算1+2+…+100的值的算法,并画出程序框图.解 算法是:S1:令i=1,S=0.S2:若i≤100成立,则执行S3;否则,输出S,结束算法.S3:S=S+i.S4:i=i+1,返回S2.程序框图:规律方法 当型循环结构与直到型循环结构的联系和区别(1)联系①当型循环结构与直到型循环结构可以相互转化;②循环结构中必然包含条件结构,以保证在适当的时候终止循环;③循环结构只有一个入口和一个出口;④循环结构内不存在死循环,即不存在无终止的循环.(2)区别直到型循环结构是先执行一次循环体,然后再判断是否继续执行循环体,当型循环结构是先判断是否执行循环体;直到型循环结构是在条件不满足时执行循环体,当型循环结构是在条件满足时执行循环体.要掌握这两种循环结构,必须抓住它们的区别.跟踪演练1 对于例1,请选择另外一种循环结构,画出它的程序框图.解 程序框图如图所示.要点二 求满足条件的最小(大)整数问题例2 写出一个求满足1×3×5×7×…×n>50000的最小正整数n的算法,并画出相应的程序框图.解 算法如下:S1:S=1.S2:i=3.S3:如果S≤50000,执行S4;否则,执行S5.S4:S=S×i,i=i+2,返回S3.S5:i=i-2.S6:输出i.程序框图如图所示:规律方法 1.在使用循环结构时,需恰当地设置累加(乘)变量和计数变量,在循环体中要设置循环终止的条件.2.在最后输出结果时,要避免出现多循环一次或少循环一次的情况出现.跟踪演练2 求使1+2+3+4+5+…+n>100成立的最小自然数n的值,只画出程序框图.解 程序框图如下:要点三 循环结构程序框图的识别与解读例3 (1)如图所示,程序框图的输出结果是( )A.B.C.D.(2)执行如图所示的程序框图,输出的S的值为( )A.1B.C.D.答案 (1)D (2)C解析 (1)s=0,n=2,2<8,s=0+=;n=2+2=4,4<8,s=+=;n=4+2=6,6<8,s=+=;n=6+2=8,8<8不成立,输出s的值为.(2)当i=0,S=1时,执行S=后得S=,i=i+1=1;当i=1,S=时,执行S=后得S=,i=i+1=2;由于此时i≥2是成立的,因此输出S=.规律方法 高考中对程序框图的考查类型之一就是读图,解决此类问题的关键是根据程序框图理解算法的功能.考查的重点是程序框图的输出功能、程序框图的补充,以及算法思想和基本的运算能力、逻辑思维能力,试题难度不大,大多可以按照程序框图的流程逐步运算而得到.跟踪演练3 阅读如图所示的程序框图,运行相应的程序,若输入m的值为2,则输出的结果i=________.答案 4解析 m=2,A=1,B=1,i=0.第一次:i=0+1=1,A=1×2=2,B=1×1=1,A>B;第二次:i=1+1=2,A=2×2=4,B=1×2=2,A>B;第三次:i=2+1=3,A=4×2=8,B=2×3=6,A>B;第四次:i=3+1=4,A=8×2=16,B=6×4=24,A<B;终止循环,输出i=4.要点四 循环结构的实际应用例4 某工厂2019年生产小轿车200万辆,技术革新后预计每年的生产能力比上一年增加5%,问最早哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法,并画出相应的程序框图.解 算法如下:S1:令n=0,a=200,r=0.05.S2:T=ar(计算年增量).S3:a=a+T(计算年产量).S4:如果a≤300,那么n=n+1,返回S2;否则执行S5.S5:N=2019+n.S6:输出N.程序框图如图所示.规律方法 这是一道算法的实际应用题,解决此类问题的关键是读懂题目,建立合适的模型,找到解决问题的计算公式.跟踪演练4 某班共有学生50人.在一次数学测试中,要搜索出测试中及格(60分以上)的成绩,试设计一个算法,并画出程序框图.解 算法步骤如下:S1:把计数变量n的初始值设为1.S2:输入一个成绩r,比较r与60的大小.若r≥60,则输出r,然后执行下一步;若r<60,则执行下一步.S3:使计数变量n的值增加1.S4:判断计数变量n与学生个数50的大小,若n≤50,返回S2,若n>50,则结束.程序框图如图.1.下列关于循环结构的说法正确的是( )A.循环结构中,判断框内的条件是唯一的B.判断框中的条件成立时,要结束循环向下执行C.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去答案 C解析 由于判断框内的条件不唯一,故A错;由于当型循环结构中,判断框中的条件成立时执行循环体,故B错;由于循环结构不是无限循环的,故C正确,D错.2.如图所示是一个循环结构的算法,下列说法不正确的是( )A.①是循环变量初始化,循环就要开始B.②为循环体C.③是判断是否继续循环的终止条件D.①可以省略不写答案 D3.直到型循环结构对应的框图为( )答案 B4.执行如图所示的程序框图,若输入n的值为3,则输出s的值是( )A.1B.2C.4D.7答案 C解析 当i=1时,s=1+1-1=1;当i=2时,s=1+2-1=2;当i=3时,s=2+3-1=4;当i=4时,退出循环,输出s=4;故选C.4.如下程序框图,当输入x的值为5时,则其输出的结果是________.答案 2解析 x=5,x>0,∴x=5-3=2,x>0.∴x=2-3=-1<0.∴y=0.5-1=2.1.循环结构需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤.反复执行的处理步骤称为循环体.(1)循环结构中一定包含条件结构;(2)在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或中止循环体的条件中.2.程序框图中的任何结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径.一、基础达标1.运行如图程序框图,输出的结果为( )A.15B.21C.28D.36答案 C解析 n=1,S=1+0=1;n=2,S=3;n=3,S=6;n=4,S=10;n=5,S=15;n=6,S=21;n=7,S=28.n=8时,不满足n≤7,因此输出S=28.2.执行如图所示的程序框图,输出的S值为( )A.2B.4C.8D.16答案 C解析 当k=0时,满足k<3,因此S=1×20=1;当k=1时,满足k<3,因此S=1×21=2;当k=2时,满足k<3,因此S=2×22=8;当k=3时,不满足k<3,因此输出S=8.3.执行两次如图所示的程序框图,若第一次输入的a的值为-1.2,第二次输入的a的值为1.2,则第一次、第二次输出的a的值分别为( )A.0.2,0.2B.0.2,0.8C.0.8,0.2D.0.8,0.8答案 C解析 若第一次输入的a的值为-1.2,满足上面一个判断框条件a<0,第1次循环,a=-1.2+1=-0.2,第2次判断后循环,a=-0.2+1=0.8,第3次判断,不满足上面一个判断框的条件,退出上面的循环,进入下面的循环,不满足下面一个判断框条件a≥1,退出循环,输出a=0.8;第二次输入的a的值为1.2,不满足上面一个判断框条件a<0,退出上面的循环,进入下面的循环,满足下面一个判断框条件a≥1,第1次循环,a=1.2-1=0.2,第2次判断后不满足下面一个判断框的条件退出下面的循环,输出a=0.2.故选C.4.如图是求x1,x2,…,x10的乘积S的程序框图,图中空白框中应填入的内容为( )A.S=S×(n+1) B.S=S×xn+1C.S=S×nD.S=S×xn答案 D解析 赋值框内应为累乘积,累乘积=前面项累乘积×第n项,即S=S×xn.5.某程序框图如图所示,若输出的S=57,则判断框内为( )A.k>4 B.k>5C.k>6 D.k>7答案 A解析 当k=1时,k=k+1=2,S=2×1+2=4;当k=2时,k=k+1=3,S=2×4+3=11;当k=3时,k=k+1=4,S=2×11+4=26;当k=4时,k=k+1=5,S=2×26+5=57.此时S=57,循环结束,k=5,所以判断框中应为“k>4”.6.阅读如图所示的程序框图,运行相应的程序,输出的s值等于______.答案 -3解析 第一次循环:s=1,k=1<4,s=2×1-1=1,k=1+1=2;第二次循环:k=2<4,s=2×1-2=0,k=2+1=3;第三次循环:k=3<4,s=2×0-3=-3,k=3+1=4;当k=4时,k<4不成立,循环结束,此时s=-3.7.有十件商品,设计一个算法,计算其平均价,并画出程序框图.解 我们用一个循环依次输入10个数,再用一个变量存放数的累加和,在求出10个数的和后,除以10,就得到10件商品的平均价.算法:S1:S=0,i=1.S2:输入P.S3:S=S+P.S4:i=i+1.S5:判断i是否大于10,若不大于10,返回S2,若i>10,退出循环,执行S6.S6:A=.S7:输出A.程序框图如图所示.二、能力提升8.执行如图所示的程序框图,如果输出s=3,那么判断框内应填入的条件是( )A.k≤6B.k≤7C.k≤8D.k≤9答案 B解析 k=2,s=1×log23=log23;k=3,s=log23×log34=log24;k=4,s=log24×log45=log25;k=5,s=log25×log56=log26;k=6,s=log26×log67=log27;k=7,s=log27×log78=log28=3,停止,说明判断框内应填k≤7.9.根据条件把图中的程序框图补充完整,求区间[1,1 000]内所有奇数的和,(1)处填________;(2)处填________.答案 (1)S=S+i (2)i=i+2解析 求[1,1 000]内所有奇数的和,初始值i=1,S=0,并且i<1000,所以(1)应填S=S+i,(2)为i=i+2.10.某城市缺水问题比较突出,为了制定节水管理办法,对全市居民某年的月均用水量进行了抽样调查,其中n位居民的月均用水量分别为x1,…,xn(单位:吨).根据如图所示的程序框图,若n=2,且x1。