类型二 简单条件结构的设计
[例2] 画出计算函数y=|2x-3|的函数值的程序框图.(x由键盘输入)
[解] 程序框图如图所示:
本题是一个分段函数问题,因此当给出变量x的值时,必须先判断x的所属范围,然后再确定利用哪一个表达式求函数值.本题仅用顺序结构是办不到的,算法中要增加判断x所属范围的步骤,故应用条件结构才能解决此问题.
[变式训练2] 画出计算函数y=
的函数值的程序框图(x由键盘输入).
解:
程序框图如图所示:
类型三 条件结构的嵌套问题
[例3] 已知函数y=
写出求该函数的函数值的算法,并画出程序框图.
[分析] 求分段函数的函数值问题,算法中需对x范围作出判断分析,画程序框图时必须用条件结构.
[解] 算法如下:
第一步,输入x.
第二步,如果x<0,那么使y=2x-1,执行第五步;否则,执行第三步.
第三步,如果0≤x<1,那么使y=x2+1,执行第五步;否则,执行第四步.
第四步,y=x2+2x.
第五步,输出y.
程序框图如图所示.
(1)解决分段函数求值问题,一般采用条件结构设计算法.
(2)对于判断两个条件以上的问题,往往需要用条件结构的嵌套,这时要注意嵌套的次序.
[变式训练3] 函数y=
写出求该函数函数值的算法及程序框图.
解:
算法:
第一步,输入x.
第二步,如果x>0,那么使y=-1;
如果x=0,那么使y=0;
如果x<0,那么使y=1.
第三步,输出函数值y.
程序框图如下图所示.
类型四 条件结构的实际应用
[例4] 某班的一次数学考试,成绩满分为100分.现对该班的成绩进行分析评价:
成绩超过80分的为A,低于60分的为C,其他的为B.
请设计算法,当输入的数学成绩为x时,输出相应的评价结果.(写出算法,画出程序框图)
[分析] 对成绩的分析评价分三种情况讨论,因此引用条件结构的叠加画程序框图.
[解] 第一步,输入学生的数学成绩.
第二步,判断该同学的数学成绩是否大于80,若是,输出A.否则,进行第三步.
第三步,判断该同学的数学成绩是否小于60,若是,输出C.否则输出B,结束.
程序框图如图所示.
利用条件结构解决实际应用的方法
(1)解应用题型应先审题,根据题意建立函数模型,根据所列函数再设计程序框图.
(2)涉及多个条件判断,画程序框图时,一定要分清主次,弄清每个判断框中的条件,以及满足条件时程序的流向.
[变式训练4] 某居民区的物业部门每月向居民收取卫生费,计费方法如下:
3人和3人以下的住户,每户收取5元,超过3人的住户,每超出1人加收1.2元,设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.
解:
设卫生费用y表示,人数用x表示,
则y=
算法如下:
第一步,输入x.
第二步,判断x.若x≤3,则y=5,执行第四步;否则执行第三步.
第三步,y=5+1.2(x-3).
第四步,输出y.
程序框图如图所示:
1.条件结构不同于顺序结构的特征是含有( B )
A.处理框B.判断框
C.输入、输出框D.起止框
2.下列算法中,含有条件结构的是( C )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
3.某市的出租车收费办法如下:
不超过2千米收7元(即起步价7元),超过2千米的里程每千米收2.6元,另每车次超过2千米收燃油附加费1元(不考虑其他因素).相应收费系统的程序框图如图所示,则①处应填( D )
A.y=7+2.6xB.y=8+2.6x
C.y=7+2.6(x-2)D.y=8+2.6(x-2)
解析:
首先建立函数模型,由题意知该系统属于分段函数,函数解析式为y=
因此框图中①处应填y=8+2.6(x-2).
4.已知函数f(x)=
程序框图(上图)表示的是给定x值,求其相应函数值的算法.请将该流程图补充完整.其中①处应填x≤3?
,②处应填y=-3x2.若输入x=3,则输出结果为5.
5.设计一个程序框图,使之能判断任意输入的整数x是奇数还是偶数.
解:
程序框图如下:
——本课须掌握的两大问题
1.对条件结构的理解
顾名思义,条件结构是处理实际问题中含有条件判断的一种基本逻辑结构,条件成立与否其流向是不同的.
2.条件结构的两种形式的区别
一种是在两个分支中都包含算法的步骤,符合条件就执行步骤A,否则执行步骤B;另一种是在一个分支中包含算法的步骤A,而在另一个分支上不包含算法的任何步骤,符合条件就执行步骤A,否则执行这个条件结构后的步骤.