2.2.3 循环结构
学案
[读教材·填要点]
1.循环结构的概念
在算法中,从某处开始,按照一定的条件反复执行某些步骤的结构称为循环结构,用算法框图如图所示.反复执行的部分称为循环体,控制着循环的开始和结束的变量,称为循环变量,决定是否继续执行循环体的判断条件,称为循环的终止条件.
2.循环结构的设计过程
设计循环结构之前需要确定的三件事:
(1)确定循环变量和初始值;
(2)确定算法中反复执行的部分,即循环体;
(3)确定循环的终止条件.
循环结构的算法框图的基本模式,如图所示.
[小问题·大思维]
1.循环结构中一定含有选择结构吗?
提示:在循环结构中需要判断是否继续循环,故循环结构中一定含有选择结构.
2.循环结构中判断框中条件是唯一的吗?
提示:不是,在具体的算法框图设计时,判断框中的条件可以不同,但不同的表示应该有共同的确定的结果.
3.算法框图的基本结构有哪些?
提示:顺序结构、选择结构和循环结构.
[研一题]
[例1] 利用循环结构写出++…+的算法并画出相应的算法框图.
[自主解答] 算法如下:
1.S=0;
2.i=1;
3.S=S+;
4.i=i+1;
5.如果i不大于100,转第3步,否则输出S.
相应框图如下图表示:
[悟一法]
1.如果算法问题中涉及到的运算进行了多次重复,且参与运算的数前后有规律可循,就可以引入变量以参与循环结构.
2.在不同的循环结构中,应注意判断条件的差别,及计数变量和累加(乘)变量的初始值与运算框先后关系的对应性.
[通一类]
1.利用循环结构写出1×2×3×…×100的算法.并画出相应的框图.
解:算法步骤如下:
1.S=1;
2.i=1;
3.S=S×i;
4.i=i+1;
5.判断i是否大于100,若成立,则输出S,结束算法;否则返回第3步重新执行.
算法框图如图所示:
[研一题]
[例2] 1×3×5×…×n>10
000.
问:如何寻找满足条件的n的最小正整数值?请设计算法框图.
[自主解答] 算法框图如下图所示:
[悟一法]
解决该类问题一般分以下几个步骤:
(1)根据题目条件写出算法并画出相应的框图;
(2)依据框图确定循环结束时,循环变量的取值;
(3)得出结论.
[通一类]
2.看下面的问题:1+2+3+…+( )>10
000,这个问题的答案虽然不唯一,但我们只要确定出满足条件的最小正整数n0,括号内填写的数字只要大于或等于n0即可.画出寻找满足条件的最小正整数n0的算法的算法框图.
解:1.S=0;
2.n=0;
3.n=n+1;
4.S=S+n;
5.如果S>10
000,则输出n,否则执行6;
6.回到3,重新执行4,5.
框图如下:
[研一题]
[例3] 某高中男子田径队的50
m赛跑成绩(单位:s)如下:
6.3,6.6,7.1,6.8,7.1,7.4,6.9,7.4,7.5,7.6,7.8,6.4,6.5,6.4,6.5,6.7,7.0,6.9,6.4,7.1,7.0,7.2.
设计一个算法,从这些成绩中搜索出成绩小于6.8
s的队员,并画出算法框图.
[自主解答] 此男子田径队有22人,要解决该问题必须先对运动员进行编号.设第i个运动员编号为Ni,成绩为Gi,设计的算法如下:
1.i=1.
2.输入Ni,Gi.
3.如果Gi<6.8,则输出Ni,Gi,并执行4;否则直接执行4.
4.i=i+1.
5.如果i≤22,则返回2;否则,算法结束.
该算法的框图如图所示.
[悟一法]
解决此类问题的关键是读懂题目,建立合适的模型,注意循环结构与选择结构的灵活运用.
[通一类]
3.2000年底我国人口总数约为13亿,现在我国人口平均年增长率为1%,写出计算多少年后我国的人口总数将达到或超过18亿的算法框图.
解:
阅读如图所示的算法框图,若输出s的值为-7,则判断框内可填写
A.i<3
B.i<4
C.i<5
D.i<6
[错解] i=1,S=2;
S=2-1=1,
i=1+2=3;
S=1-3=-2,
i=3+2=5;
S=-2-5=-7.
由题意可知,S=-7.故应填“i<5”.
[错因] 循环终止的条件写错,没有将循环进行彻底,计算完S值后,忽略了i值的计算,若填“i<5”,则输出S值为-2.
[正解] i=1,S=2;
S=2-1=1,
i=1+2=3;
S=1-3=-2,
i=3+2=5;
S=-2-5=-7,
i=5+2=7.
若终止循环后输出s值为-7,则判断框内应填“i<6”.
[答案] D
1.以下说法不正确的是( )
A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构
B.循环结构是在一些算法中从某处开始按照一定的条件,反复执行某些处理步骤,故循环结构一定包含选择结构
C.循环结构不一定包含选择结构
D.用算法框图表示的算法更形象、直观,容易理解
解析:显然循环结构一定包含选择结构.
答案:C
2.用二分法求方程x2-2=0的近似解的算法中要用到的算法结构是( )
A.顺序结构
B.选择结构
C.循环结构
D.以上都用
解析:任何一个算法都有顺序结构,循环结构一定包含选择结构,二分法用到循环结构.
答案:D
3.如图所示,该框图运行后输出的结果为( )
A.2
B.4
C.8
D.16
解析:当a=4时,退出循环,b=23=8.
答案:C
4.如图所示,该框图是计算+++…+的值的一个算法框图,其中判断框内应填入的条件是________.
解析:要实现算法,算法框图中最后一次执行循环体时,i的值应为10,当条件i=11>10时就会终止循环,所以条件为i≤10.
答案:i≤10
5.(2012·浙江高考)若某程序框图如图所示,则该程序运行后输出的值是________.
解析:运行程序后,i=1,T=1;i=2,T=;i=3,T=;i=4,T=;i=5,T=;i=6>5,循环结束.则输出的值为.
答案:
6.给出以下10个数:5,9,80,43,95,73,28,17,60,36,要求把大于40的数找出来并输出,试画出解决该问题的算法框图.
解:
一、选择题
1.下面的框图中是循环结构的是( )
A.①②
B.②③
C.③④
D.②④
解析:①是顺序结构,②是选择结构,③④是循环结构.
答案:C
2.(2012·天津高考)阅读下边的程序框图,运行相应的程序,则输出S的值为( )
A.8
B.18
C.26
D.80
解析:程序执行情况为S=31-30=2,n=2;S=2+32-31=8,n=3;S=8+33-32=26,n=4≥4,跳出循环.故输出26.
答案:C
3.(2012·北京高考)执行如图所示的程序框图,输出的S值为( )
A.2
B.4
C.8
D.16
解析:框图的功能为计算S=1·20·21·22的值,计算结果为8.
答案:C
4.图中所示的是一个算法的框图,则其表达式为( )
A.
B.
C.
D.
解析:依题意当i≤99时,S=1+2+…+99,当i=100时,S=.
答案:A
5.某算法框图如图所示,若输出的S=57,则判断框内为( )
A.k>4
B.k>5
C.k>6
D.k>7
解析:当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”.
答案:A
二、填空题
6.阅读如图所示的框图,若输入m=4,n=3,则输出a=________,i=________.
解析:由算法框图可知,当a=m×i=4×i能被n=3整除时输出a和i并结束程序.显然,当i=3时,a可以被3整除,故i=3,此时a=4×3=12.
答案:12 3
7.(2012·江西高考)下图是某算法的程序框图,则程序运行后输出的结果是________.
解析:此框图依次执行如下循环:
第一次:T=0,k=1,sin
>sin
0成立,a=1,T=T+a=1,k=2,2<6,继续循环;
第二次:sin
π>sin
不成立,a=0,T=T+a=1,k=3,3<6,继续循环;
第三次:sin
>sin
π不成立,a=0,T=T+a=1,k=4,4<6,继续循环;
第四次:sin
2π>sin
成立,a=1,T=T+a=2,k=5,5<6,继续循环;
第五次:sin
>sin
2π成立,a=1,T=T+a=3,k=6,跳出循环,输出的结果是3.
答案:3
8.若算法框图所给的程序运行的结果为S=90,那么判断框中应填入的关于k的判断条件是________.
解析:由算法框图可知其作用是计算S=1×10×9×…,当运行结果为S=90时,应有S=1×10×9,
∴当k=8时应符合条件且k>8不符合条件,
∴条件应为k≤8或k<9.
答案:k≤8或k<9
三、解答题
9.设计求1+4+7+10+…+40的一个算法,并画出相应的算法框图.
解:算法:
1.令S=0,i=1.
2.S=S+i.
3.i=i+3.
4.若i≤40,返回第2步;重新执行第2、3、4步;若i>40,执行第5步.
5.输出S的值.
算法框图如图所示:
法一: 法二:
10.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,
88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,画出算法框图.
解:算法框图如下所示: