1.1.3 算法的三种基本逻辑结构和框图表示(二)
学习目标 1.掌握条件分支结构的程序框图的画法.2.能用条件分支结构框图描述分类讨论问题的算法.3.进一步熟悉程序框图的画法.
知识点一 条件分支结构
思考1 我们经常需要处理分类讨论的问题,顺序结构能否完成这一任务?为什么?
答案 分类讨论是带有分支的逻辑结构,而顺序结构是一通到底的“直肠子”,所以不能表达分支结构,这就需要条件分支结构出场.
思考2 有些问题需要按给定的条件进行分析、比较和判断,在程序框图结构中还能只用顺序结构吗?
答案 不能,顺序结构不能按给定的条件进行分析、比较和判断.
梳理 一些简单的算法可以用顺序结构来表示,但是这种结构无法描述要求进行逻辑判断,并根据判断结果进行不同处理的情况,因此,需要另一种逻辑结构来处理这类问题.这种结构叫做条件分支结构.
知识点二 条件分支结构的两种形式
结构形式
特征
两个步骤A,B根据条件选择一个执行
根据条件选择是否执行步骤A
知识点三 条件分支结构的嵌套
思考 条件分支结构中的判断框有两个出口,由此说明条件分支结构执行的结果不唯一,对吗?
答案 不对,判断框虽然有两个出口,但根据条件是否成立,选择的出口是确定的,故执行结果也是唯一的.
梳理 条件分支结构的嵌套实际上就是将一个条件分支结构置于另一个条件分支结构的分支中,这个分支结束后,要与另一个分支交汇.
1.条件分支结构的程序框图中含有顺序结构.( √ )
2.条件分支结构的程序框图中可以不含判断框.( × )
3.条件分支结构的判断条件要写在判断框内.( √ )
4.条件分支结构的两种形式执行结果可能不同.( × )
题型一 条件分支结构的概念
例1 (1)下列算法中,含有条件分支结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
(2)条件分支结构不同于顺序结构的特征是( )
A.处理框 B.判断框
C.输入、输出框 D.起止框
(3)给出以下四个问题:
①输入一个数x,输出它的绝对值;
②求面积为6的正方形的周长;
③求a,b,c三个数中的最大值;
④求函数f(x)=的函数值.
其中需要用条件分支结构来描述算法的有( )
A.1个 B.2个
C.3个 D.4个
答案 (1)C (2)B (3)C
解析 (1)解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时,方程有解,由于分情况,故用到条件分支结构.
(2)在条件分支结构中含有判断框,而顺序结构中没有.
(3)①③④都要对条件作出判断,故需要用条件分支结构,②用顺序结构即可.
反思与感悟 条件分支结构中含有判断框,且判断框内相应的判定条件是依据所给具体问题设定的.
跟踪训练1 下列问题的算法适宜用条件分支结构表示的是( )
A.求点P(2,5)到直线l:3x-2y+1=0的距离
B.由直角三角形的两条直角边求斜边
C.解不等式ax+b>0(其中a≠0)
D.计算3个数的平均数
答案 C
解析 条件分支结构是处理逻辑判断并根据判断进行不同处理的结构,只有C中需判断a的符号,其余选项中都不含逻辑判断,故选C.
题型二 条件分支结构的应用
例2 如图所示的程序框图,若输出y的值为3,求输入的x值.
解 由程序框图可得y=当x≤0时,y∈(1,2],
此时不可能输出y=3;当x>0时,令y=2x+1=3,解得x=1,符合题意,故输入的x的值为1.
引申探究
本例中,若输入x的值为-1,则输出y的值为多少?
解 由x=-1<0,故y=2-1+1=,故y=,从而输出y的值为.
反思与感悟 先由条件作出判断,然后再决定选择哪一个步骤,在画框图时,必须用到条件分支结构.
跟踪训练2 画出计算函数y=|x-2|的函数值的程序框图.
解 算法如下:
S1 输入x.
S2 若x≥2,则y=x-2;否则y=2-x.
S3 输出y.
程序框图如下.
题型三 条件分支结构的嵌套
例3 解关于x的方程ax+b=0的算法的程序框图如何表示?
解 先设计算法步骤:
S1 输入实数a,b.
S2 判断a是否为0.若是,执行第三步,否则,计算x=-,并输出x,结束算法.
S3 判断b是否为0.若是,则输出“方程的解为任意实数”;否则,输出“方程无实数解”.
再用程序框图表达上述算法如图.
反思与感悟 我们现在使用的条件分支结构只提供2个出口,故当要分三类以上讨论时,往往需要在条件分支结构中再嵌套一个条件分支结构.
跟踪训练3 已知函数y=请设计一个程序框图,要求输入x的值,输出y的值.
解 程序框图如下.
1.在如图所示的程序框图中,若输出的y的值为26,则输入的x的值为( )
A.-4B.-5C.6D.-6
答案 A
解析 由x2-2x+2=26,解得x=-4或x=6,由框图知,输入的x的值为-4.
2.若输入x=-5,按图中所示程序框图运行后,输出的结果是( )
A.-5 B.0
C.-1 D.1
答案 D
解析 因为x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第二个判断框中,由于-5<0,执行“是”,所以得y=1.
3.对任意非零实数a、b,若a?b的运算原理如程序框图所示,则3?2=________.
答案 2
解析 由题意知,a=3,b=2,由程序框图得,3≤2不成立,故执行,得到3?2==2.
4.已知函数y=|x-3|,如图表示的是给定x的值,求其相应函数的值的算法.请将该程序框图补充完整,其中①处应填________,②处应填________.
答案 x<3或x≤3 y=x-3
解析 由已知得y=结合所给程序框图易得.
5.已知函数y=写出给定x的值求该函数的函数值的算法,并画出程序框图.
解 算法步骤如下:
S1 输入x.
S2 如果x<0,那么y=2x-1,否则,执行第三步.
S3 如果x<1,那么y=x+1,否则,执行第四步.
S4 y=x+2.
S5 输出y.
程序框图如图所示.
1.条件分支结构是程序框图的重要组成部分.其特点是先判断后执行.
2.在利用条件分支结构画程序框图时要注意两点:一是需要判断条件是什么,二是条件判断后分别对应着什么样的结果.
3.设计程序框图时,首先设计算法步骤,再转化为程序框图,待熟练后可以省略算法步骤直接画出程序框图.对于算法中分类讨论的步骤,通常设计成条件分支结构来解决.
一、选择题
1.求下列函数的函数值的算法中需要用到条件分支结构的是( )
A.f(x)=x2-1
B.f(x)=2x+1
C.f(x)=
D.f(x)=2x
答案 C
解析 C项中函数f(x)是分段函数,需分类讨论x的取值范围,要用条件分支结构来设计算法,A,B,D项中均不需要用条件分支结构.
2.已知a=,b=3,执行如图所示的程序框图,则输出的值为( )
A. B.
C. D.
答案 D
解析 由a=,b=3==2,知a>b不成立,
故输出=.
3.某市的士收费办法如下:不超过2公里收7元(即起步价7元),超过2公里的里程每公里收2.6元,另每车次超过2公里收燃油附加费1元(不考虑其他因素).相应收费系统的程序框图如图所示,则①处应填( )
A.y=7+2.6x B.y=8+2.6x
C.y=7+2.6(x-2) D.y=8+2.6(x-2)
答案 D
解析 当x>2时,2公里内的收费为7元,2公里外的收费为7+(x-2)×2.6(元),另外燃油附加费为1元,所以y=7+2.6(x-2)+1=8+2.6(x-2).
4.执行如图所示的程序框图,若输出结果为2,则输入的实数x的值是( )
A.3 B.
C.4 D.2
答案 C
解析 依题意,若x>1,
则令y=log2x=2,得x=4>1;
若x≤1,则令y=x-1=2,得x=3,但3>1,故舍去.
因此,若输出结果为2,
则输入的实数x的值是4,故选C.
5.如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入( )
A.c>x B.x>c
C.c>b D.b>c
答案 A
解析 从程序框图中可以看出,应填c>x,其含义是当c>x不成立时,说明x最大,输出x,当c>x成立时,执行x=c后,x的值变为c,从而输出x(也就是c).
6.如图给出了一个程序框图,其作用是输入x的值,输出相应的y值.若要使输入的x值与输出的y值相等,则这样的x值有( )
A.1个 B.2个
C.3个 D.4个
答案 C
解析 由题意得该程序的功能是计算并输出分段函数y=的值,
当x≤2时,由x=x2,解得x=0或x=1,
当2<x≤5时,由x=2x-4,解得x=4,
当x>5时,由x=,解得x=±1(舍去),
故满足条件的x值共有3个.故选C.
7.如图是计算函数y=的值的程序框图,在①②③处应分别填入的是( )
A.y=ln(-x),y=0,y=2x
B.y=ln(-x),y=2x,y=0
C.y=0,y=2x,y=ln(-x)
D.y=0,y=ln(-x),y=2x
答案 B
解析 ①处应填入当自变量x≤-2时的解析式,②处应填入当自变量x>3时的解析式,③处应填入当自变量-2<x≤3时的解析式,故选B.
8.程序框图如图所示,若输出y的值是4,则输入的实数x的值为( )
A.1 B.-2
C.1或2 D.1或-2
答案 D
解析 根据题意和程序框图可知,
程序框图反映的函数关系式为
y=
令y=4,解得当x<1时,x=-2;
当1≤x<10时,x=1;
当x≥10时无解.故选D.
二、填空题
9.已知函数y=图中表示的是给定x的值,求其对应的函数值y的程序框图.①处应填写______;②处应填写________.
答案 x<2 y=log2x
解析 框图中的①处就是分段函数解析式两种形式的判断条件,故填写x<2,②就是函数的另一段表达式y=log2x.
10.如图所示的程序框图中,当输入的数为3时,输出的结果为________.
答案 8
解析 ∵3<5,
∴y=32-1=8.
11.如图的程序框图的功能是计算函数______________的函数值.
答案 y=|2x-3|
12.某次考试,为了统计成绩情况,设计了如图所示的程序框图.当输入一个同学的成绩x=75时,输出结果为________.
答案 及格
解析 由于75<80,在程序框图中的第一个判断框中,将按“否”的指向进入第二个判断框,又因为75≥60,将按“是”的指向,所以输出的是“及格”.
三、解答题
13.有一城市,市区为半径为15km的圆形区域,近郊区为距中心15~25km的范围内的环形地带,距中心25km以外的为远郊区,如图所示.市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价每公顷20万元,输入某一点的坐标为(x,y),求该点的地价,写出公式并画出程序框图.
解 设点(x,y)与市中心的距离为r,则r=,由题意知r与地价p的关系为p=
程序框图如下图.
四、探究与拓展
14.如图所示,是关于判断闰年的程序框图,则以下年份是闰年的为( )
A.1996年 B.1998年
C.2010年 D.2100年
答案 A
解析 由程序框图可知,闰年的年份能被4整除,但不能被100整除,或能被400整除,经检验知,只有选项A满足,故选A.
15.如图,x1,x2,x3为某次考试三个评阅人对同一道题的独立评分,p为该题的最终得分,当x1=6,x2=9,p=8.5时,x3=________.
答案 8
解析 x1=6,x2=9,|x1-x2|=3<2不成立,
即为“否”,所以再输入x3;
由绝对值的意义(一个点到另一个点的距离)和不等式
|x3-x1|<|x3-x2|知,
点x3到点x1的距离小于点x3到点x2的距离,
所以当x3<7.5时,
|x3-x1|<|x3-x2|成立,即为“是”,
此时x2=x3,所以p=,
即=8.5,解得x3=11>7.5,不合题意;
当x3>7.5时,|x3-x1|<|x3-x2|不成立,即为“否”,
此时x1=x3,所以p=,
即=8.5,
解得x3=8>7.5,符合题意.