1.1.3 算法的三种基本逻辑结构和框图表示(三)
学习目标 1.掌握循环结构的程序框图的画法.2.理解循环结构程序框图的执行功能,并能正确解题.
知识点一 循环结构
思考1 用累加法计算1+2+3+…+100的值,其中有没有重复操作的步骤?
答案 用S表示每一步的计算结果,S加下一个数得到一个新的S,这个步骤被重复了100次.
思考2 循环结构的程序框图中一定含有判断框吗?
答案 一定含有.在循环结构中需要判断是否执行循环体,故循环结构的程序框图中一定含有判断框.
思考3 什么样的算法问题要用循环结构?它与条件分支结构,顺序结构有何联系?
答案 如果算法问题涉及的运算有许多重复的步骤,且变量间有相同规律,就可用循环结构.循环结构中有顺序结构与条件分支结构.
梳理 根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构,反复执行的步骤称为循环体.
知识点二 循环结构的三要素及其作用
循环变量、循环体、循环的终止条件是循环结构的三大要素,循环结构的三要素在分析所有循环结构的算法、画出算法的程序框图之前就应该分析清楚,只有准确地把握了这三个要素,才能清楚地画出循环结构的程序框图.
(1)循环变量:应明确它的初始值、步长(指循环变量每次增加的值)、终值.
(2)循环体:也称循环表达式,它是算法中反复执行的部分.
(3)循环的终止条件:程序框图中用一个判断框来判断是否继续执行循环体.
知识点三 赋值号
思考 在程序框图中,常见“i=i+1”,它是什么意思?
答案 它表示先计算等号右边“i+1”的值,再把这个值赋给等号左边的变量.
梳理 一般地,“变量=表达式”中的“=”叫赋值号,它的功能是把右边表达式的值赋给左边的变量,故它与数学中的等号不完全一样,所以不能颠倒写成“表达式=变量”.
1.循环结构中,判断框内的条件不是唯一的.( √ )
2.判断框中的条件成立时,要结束循环向下执行.( × )
3.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”.
( √ )
题型一 循环结构程序框图的画法
例1 写出求1×2×3×4×5×…×n的值的算法步骤,并画出程序框图.
解 算法如下:
S1 输入n,设t的初始值为1.
S2 设i的初始值为2.
S3 如果i≤n,则执行第四步,否则,转去执行S7.
S4 计算t乘i并将结果赋给t.
S5 计算i加1并将结果赋给i.
S6 返回执行S3.
S7 输出t的值并结束算法.
根据自然语言描述,程序框图如图所示.
反思与感悟 这是一个累乘问题,重复进行了n-1次乘法,可以利用循环结构描述,需引入累乘变量t和计数变量i,这里t与i每循环一次,它们的值都在改变.
跟踪训练1 阅读如图的程序框图,运行相应的程序,则输出S的值为( )
A.-10B.6C.14D.18
答案 B
解析 执行程序:S=20,i=1,i=2,
S=20-2=18;
i=4,S=18-4=14;
i=8,S=14-8=6,
满足i>5的条件,结束循环,
输出S的值为6,故选B.
题型二 含循环结构程序框图的设计
例2 设计算法求1×2×3×…×2016×2017的值,并画出程序框图.
解 算法如下:
S1 设M的值为1.
S2 设i的值为2.
S3 如果i≤2017,则执行S4;否则执行S6.
S4 计算M=M×i.
S5 计算i=i+1,返回执行S3.
S6 输出M的值,并结束算法.
程序框图如图所示.
引申探究
若将本例中的积改为和,如何设计程序框图.
解 程序框图如下.
反思与感悟 利用循环结构解决问题的“三个确定”
(1)确定循环变量及初始值,弄清循环变量表示的意义、取值范围及变化规律.
(2)确定循环体的功能,根据实际情况确定采用哪种循环结构.
(3)确定循环结构的终止条件,弄清不等号的方向及是否含有等号.
跟踪训练2 执行如图所示的程序框图,输出的k值是( )
A.3B.5C.7D.9
答案 B
解析 第一次循环:n=3×5+1=16,k=0+1=1,继续循环;
第二次循环:n==8,k=1+1=2,继续循环;
第三次循环:n==4,k=2+1=3,继续循环;
第四次循环:n==2,k=3+1=4,继续循环;
第五次循环:n==1,k=4+1=5,结束循环.输出k=5.故选B.
题型三 循环结构在实际中的应用
例3 以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,请画出程序框图.
解 程序框图如图所示.
反思与感悟 应用循环结构解决实际问题的策略
跟踪训练3 某公司为激励广大员工的积极性,规定:若推销产品价值在10000元之内的年终提成5%;若推销产品价值在10000元以上(包括10000元),则年终提成10%,设计一个求公司员工年终提成f(x)的算法的程序框图.
解 程序框图如图所示:
1.执行如图所示的程序框图后,输出的值为4,则P的取值范围是( )
A.<P≤ B.P>
C.<P≤ D.≤P<
答案 C
解析 ∵S<P时,执行循环体,S≥P时输出n=4,
∴S加上的最后一项为=,此时S=++=,∴≥P,结合输出的值为4知,<P≤.
2.运行如图所示的程序框图,则输出的T=________.
答案 20
解析 T=0,S=0,T>S不成立.
执行第一次循环后,S=4,n=2,T=2,2>4仍不成立.
执行第二次循环后,S=8,n=4,T=6,6>8仍不成立.
执行第三次循环后,S=12,n=6,T=12,,12>12仍不成立.
执行第四次循环后,S=16,n=8,T=20,20>16成立,
故输出T的值为20.
3.按照如图的程序框图运行,已知输入x的值为2+log23,则输出的y的值为________.
答案
解析 因为2+log23<2+log24=4,所以x=2+log23+1=3+log23>3+log22=4,故y=x==×=.
4.已知如图所示的程序框图.
若a=5,则输出b=________.
答案 26
解析 若a=5,程序执行“否”,计算b=52+1=26,
故b=26.
5.请认真阅读程序框图,
(1)写出每一个Ai的值;
(2)写出程序框图的输出结果S的值.
解 (1)A3=9,A4=11,A5=13,A6=15,A7=17.
(2)该程序的作用是累加并输出S=9+11+13+15+17的值.S=9+11+13+15+17=65.即输出结果S的值是65.
1.需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤.反复执行的处理步骤称为循环体.
(1)循环结构中一定包含条件分支结构;
(2)在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.
2.程序框图中的任何结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径,在程序框图中是不允许有死循环出现的.
一、选择题
1.如图所示是一个循环结构的算法,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②为循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
答案 D
2.在解决下列各问题的算法中,一定用到循环结构的是( )
A.求函数f(x)=3x2-2x+1当x=5时的值
B.用二分法求的近似值
C.求一个给定实数为半径的圆的面积
D.将给定的三个实数按从小到大排列
答案 B
解析 用二分法求的近似值,因为取中点验证函数值符号等步骤要重复执行,所以一定用到循环结构.
3.如图是求x1,x2,…,x10的乘积S的程序框图,图中空白框中应填入的内容为( )
A.S=S×(n+1) B.S=S×xn+1
C.S=S×n D.S=S×xn
答案 D
解析 赋值框内应为累乘积,累乘积=前面项累乘积×第n项,即S=S×xn.
4.某程序框图如图所示,该程序运行后输出的k的值是( )
A.4B.5C.6D.7
答案 A
解析 k=0,S=0?S=1,
k=1?S=1+21=3,
k=2?S=3+23=11,
k=3?S=11+211>100,
k=4,故输出k=4.
5.如图是一个算法的程序框图,该程序所输出的结果是( )
A. B.
C. D.
答案 C
解析 运行第一次的结果为i=2,m=1,
n=0+=;
第二次i=3,m=2,n=+=;
第三次i=4,m=3,n=+=.
此时i=4程序终止,即输出n=.
6.某程序框图如图所示,则运行该程序后输出的S等于( )
A. B.
C. D.
答案 D
解析 执行程序框图,可得S=1,n=1,
不满足条件n>5,S=1+,n=2,
不满足条件n>5,S=1++,n=3,
不满足条件n>5,S=1+++,n=4,
不满足条件n>5,S=1++++,n=5,
不满足条件n>5,S=1+++++,n=6,
满足条件n>5,退出循环,输出S的值.
由于S=1+++++=,故选D.
7.某程序框图如图所示,若输出的S=57,则判断框内应为( )
A.k>4 B.k>5
C.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”.
8.如图所示的程序框图,输出S的值是,则判断框内应填( )
A.n<2015 B.n≤2014
C.n≤2016 D.n≤2015
答案 D
解析 由程序框图可知,该程序的功能是利用循环结构输出S=1××××…×=的值,
若输出S的值是=,
则循环变量的终值为2015,
故判断框内应填入n≤2015,故选D.
二、填空题
9.执行如图所示的程序框图,若输入n的值为3,则输出结果为________.
答案 8
解析 根据程序框图得,
第一次进入循环体后,S=1×2=2,k=1+1=2;
第二次进入循环体后,S=2×2=4,k=2+1=3;
第三次进入循环体后,S=4×2=8,k=3+1=4,
此时不满足条件k≤3,退出循环,故输出的结果是8.
10.执行如图所示的程序框图,输出T=________.
答案 30
解析 按照程序框图依次执行:
S=5,n=2,T=2;S=10,n=4,T=2+4=6;S=15,n=6,T=6+6=12;S=20,n=8,T=12+8=20;S=25,n=10,T=20+10=30>S,输出T=30.
11.执行如图所示的程序框图,若输入n=5,则输出k的值为________.
答案 3
解析 n=5,k=0?n=16,k=1?n=49,k=2?n=148,k=3?n=445>150,输出k=3.
12.阅读如图所示的程序框图,运行相应的程序,输出的结果是________.
答案 8
解析 由程序框图可知,程序运行时,数值S与n的对应变化如下表:
S
-1
2
n
2
4
8
故当S=2时,输出n=8.
三、解答题
13.设计求使1+2+3+4+5+…+n<100成立的最大自然数n的值的算法,并画出程序框图.
解 算法:
S1 令S=0,n=1.
S2 S=S+n.
S3 n=n+1.
S4 若S≥100,则输出n-2,结束算法;否则,返回S2.
程序框图如图所示.
四、探究与拓展
14.执行两次如图所示的程序框图,若第一次输入的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.
15.用循环结构书写求1++++…+的算法,并画出相应的程序框图.
解 算法如下:
S1 S=0,i=1.
S2 S=S+.
S3 i=i+1.
S4 判断i>1000是否成立,若成立执行S5,否则执行S2.
S5 输出S,结束算法.
相应的程序框图如图所示.