数学同步训练 湘教版必修5:11.2.3 《循环结构》
展开1.下列框图结构是循环结构的是( )
A.①② B.②③
C.③④ D.②④
解析:选C.①是顺序结构;②是条件结构;③是当型循环结构;④是直到型循环结构.
2.下列给出的三个程序框图,按条件结构、顺序结构、循环结构正确的顺序是( )
A.①②③ B.②①③
C.②③① D.③①②
解析:选B.①为顺序结构;②为条件结构;③为循环结构.
3.阅读如图所示的程序框图,请问该程序框图表示的程序输出的结果是( )
A.132 B.1320
C.11880 D.12
解析:选B.根据循环体中的语句,可得s=12×11×10=1320.
4.(2011年高考山东卷)执行如图所示的程序框图,输入l=2,m=3,n=5,则输出的y的值是________.
解析:由输入l=2,m=3,n=5,计算得出y=278,第一次得新的y=173;第二次得新的y=68<105,输出y.
答案:68
一、选择题
1.如图所示的程序框图所表示的算法是( )
A.12+22+32+…+102
B.102+112+122+…+10002
C.102+202+302+…+10002
D.12+22+32+…+10002
解析:选C.初始值i=10,每循环一次加10;S从102一直累加到10002.故选C.
2.(2010年高考辽宁卷)如果执行下面的程序框图,输入n=6,m=4,那么输出的p等于( )
A.720 B.360
C.240 D.120
解析:选B.由框图可知:当n=6,m=4时,
第一次循环:p=(6-4+1)×1=3,k=2.
第二次循环:p=(6-4+2)×3=12,k=3.
第三次循环:p=(6-4+3)×12=60,k=4.
第四次循环:p=(6-4+4)×60=360,此时k=m,终止循环.输出p=360,故选B.
3.(2011年厦门高二检测)如图所示 ,该程序框图运行后输出的结果为( )
A.2 B.4
C.8 D.16
解析:选C.当a=4时,退出循环,b=23=8.
4.(2010年高考福建卷)阅读如图所示的程序框图,运行相应的程序,输出的i值等于( )
A.2 B.3
C.4 D.5
解析:选C.s=0+1×2+2×22+3×23=34>11,i=3+1=4.故选C.
5.如图所示的程序框图输出的结果是S=720,则判断框内应填的条件是( )
A.i≤7 B.i>7
C.i≤9 D.i>9
解析:选B.程序框图所示的运算是10×9×8×7×…,若输出结果是S=720,则应是10×9×8=720,所以i=10,9,8时累乘,即当i>7时执行循环体.
6.如果执行图示的框图,输入N=5,则输出的数等于( )
A. B.
C. D.
解析:选D.当N=5时,第一次执行循环,S=,k=1;
满足k<N,第二次执行循环,S=+,k=2,
满足k<N;
第三次执行循环,S=++,k=3,
满足k<N;
第四次执行循环,S=+++,k=4,
满足k<N;
第五次执行循环,S=++++,
k=5,不满足k<N,结束循环,
所以S=++++=1-+-+-+-+-=,故选D.
二、填空题
7.(2011年济宁高二检测)执行如图所示的程序框图,若p=0.8,则输出的n=________.
解析:由程序框图知p=0.8,n=1,S=0.满足S<p,则S=0+=,n=1+1=2;循环判断,此时S=0.5<p=0.8,则S=+=0.5+0.25=0.75,n=2+1=3;循环判断,此时S=0.75<p=0.8,则S=0.75+=0.875,n=3+1=4;循环判断,此时S=0.875>p=0.8,则循环结束,输出n=4.故正确答案为4.
答案:4
8.(2010年高考山东卷)已知函数y=如图表示的是给定x的值,求其对应的函数值y的程序框图.①处应填写________;②处应填写________.
解析:由框图可知只要满足①中的条件则对应的函数解析式为y=2-x,故此处应填写x<2,则②处应填写y=log2x.
答案:x<2 y=log2x
9.下列四个程序框图,都是为计算22+42+62+…+1002而设计的.正确的程序框图为________;下图中,③输出的结果为________(只需给出算式表达式);在错误的程序框图中,不能执行到底的为________.
解析:将每一个程序框图所表示的算法“翻译”出来即可进行判断.
答案:④ 22+42+62+…+982 ②
三、解答题
10.用直到型和当型两种循环结构写出求1+2+3+…+100的算法并画出各自的算法流程图.
解:直到型循环算法:
S1:S=0.
S2:i=1.
S3:S=S+i.
S4:i=i+1.
S5:如果i不大于100,转S3,否则,输出S.
相应流程图如图所示.
当型循环算法如下:
S1:S=0.
S2:i=1.
S3:当i≤100时,转S4,否则,输出S.
S4:S=S+i.
S5:i=i+1,并转入S3.
相应流程图如图所示:
11.下列四图是为计算22+42+62+…+1002而绘制的算法流程图,根据流程图回答后面的问题:
(1)其中正确的流程图有哪几个?错误的流程图有哪几个?错误的要指出错在哪里.
(2)错误的流程图中,按该流程图所蕴含的算法,能执行到底吗,若能执行到底,最后输出的结果是什么?
解:(1)正确的流程图只有(4).
①图(1)有三处错误.
第一处错误,第二图框中i=42,应该是i=4,因为本流程图中的计数变量是i,不是i2,22,42,…,1002中,指数都是2,而底数2,4,6,8,…,100是变化的.但前后两项的底数相差2,因此计数变量是顺加2.
第二处错误,第三个图框中的内容错误,累加的i2而不是,故应改为p=p+2.
第三处错误,第四个图框中的内容,其中的指令i=i+1,应改为i=i+2,原因是底数前后两项相差2.
②图(2)所示的流程图中共有四处错误.
第一处错误,流程线没有箭头显示程序的执行顺序.
第二处错误,第三个图框中的内容p=p+i错,应改为p=p+i2.
第三处错误,判断框的流程线上没有标明“是”或“否”,应在向下的流程线上注明“是”,在向右的流程线上标注“否”.
第四处错误,在第三个图框和判断过程中漏掉了循环体中起主要作用的框图,内容即为i=i+2,使程序无法退出循环,应在第三个图框和判断框间添加图框.
③图(3)所示的流程图中有一处错误,即判断中的内容错误,应将框内的内容“i<100”改为“i≤100”,或改为“i>100”且判断框下面的流程线上标的“是”和“否”互换.
(2)①图(1)虽然能进行到底,但执行的结果不是所期望的结果,按照这个流程图最终输出的结果是p=22+42+(42+1)+(42+2)+…+(42+84).
②图(2)流程图无法进行到底.
③图(3)虽然能使程序进行到底,但最终输出的结果不是预期的结果而是22+42+62+…+982,少了1002.
12.看下面的问题:1+2+3+…+( )>10000.这个问题的答案不唯一,我们只要确定出满足条件的最小正整数n0,括号内填写的数字只需大于或等于n0即可.试写出寻找满足条件的最小正整数n0的算法,并画出相应的算法程序框图.
解:法一:S1:p=0;
S2:i=0;
S3:i=i+1;
S4:p=p+i;
S5:若p>10000,则输出i.否则执行S6;
S6:返回S3,重新执行S3,S4,S5.
该算法的程序框图如图所示.
法二:S1:取n的值等于1;
S2:计算;
S3:如果的值大于10000,那么n即为所求;否则,让n的值增加1,然后返回S2重复操作.
根据以上步骤,可以画如图所示的程序框图.