1、第二课时条件结构提出问题已知一个算法的步骤如下:第一步,输入x.第二步,若x2,执行第三步;否则,执行第四步第三步,计算2x11的值,输出结果,结束算法第四步,计算log3(x21)的值,输出结果,结束算法问题1:该算法的算法功能是什么?提示:计算函数f(x)的函数值问题2:若画出该算法的程序框图,只用顺序结构能完成吗?提示:不能问题3:上述算法中除含有顺序结构外,还含有什么逻辑结构?提示:条件结构导入新知1条件结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,处理上述过程的结构就是条件结构2条件结构程序框图两种形式及特征形式一形式二结构形式特征两个步骤A、B
2、根据条件选择一个执行根据条件是否成立选择是否执行步骤A化解疑难对条件结构形式的理解(1)如形式一所示的条件结构中,算法执行到此判断框给定的条件时,根据条件是否成立,选择不同的执行框(步骤A、步骤B),无论条件是否成立,都要执行步骤A和步骤B之一,但不可能既执行步骤A又执行步骤B,也不可能步骤A和步骤B都不执行(2)步骤A和步骤B可以有一个是空的(如形式二),即不执行任何操作简单条件结构的算法与框图例1画出求分段函数y的函数值的程序框图解算法如下:第一步,输入x的值第二步,判断x的大小若x0,则y2x1;若x0,则y3x2.第三步,输出y的值程序框图如下:类题通法1条件结构与顺序结构的不同点条件
3、结构不同于顺序结构的地方:它不是依次执行操作指令进行运算,而是依据条件作出逻辑判断,选择执行不同指令中的一个一般地,这里的判断主要是判断“是”或“否”,即判断是否符合条件的要求,因而它有一个入口和两个出口,但最后还是只有一个终结口2含有条件结构的程序框图的设计设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言)如果已经非常熟练地掌握了画程序框图的方法,那么可以省略设计算法步骤而直接画出程序框图对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决活学活用设计一个程序框图,使之能判断任意输入的数x是奇数还是偶数解:程序框图如下:与条件结构有关的读图问
4、题例2(1)如图所示的程序框图,其功能是()A输入a,b的值,按从小到大的顺序输出它们的值B输入a,b的值,按从大到小的顺序输出它们的值C求a,b的最大值D求a,b的最小值(2)执行下面的程序框图,如果输入的t1,3,则输出的s属于()A3,4B5,2C4,3 D2,5解析(1)取a1,b2知,该程序框图输出b2,因此是求a,b的最大值(2)由题中框图可知s即求分段函数的值域当1t1时,3s3;当1t3时,s4tt2(t2)24,3s4.综上,s3,4答案(1)C(2)A类题通法条件结构读图注意的两点(1)理清所要实现的算法的结构特点和流程规则,分析其功能(2)结合框图判断所要填入的内容或计算
5、所要输出或输入的值活学活用1根据图中的流程图操作,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则()A框中填“是”,框中填“否”B框中填“否”,框中填“是”C框中填“是”,框中可填可不填D框中填“否”,框中可填可不填解析:选A当x60时,应输出“及格”;当x60时,应输出“不及格”,故中应填“是”,中应填“否”2如图,函数f(x)2x,g(x)x2,若输入的x值为3,则输出的h(x)的值为_解析:由框图可知,当x3时,f(3)238,g(3)329,f(3)g(3),h(3)g(3)9,输出值为9.答案:9条件结构的实际应用例3(1)某市出租车的起步价为8元(含
6、3千米),超过3千米的里程每千米收2.6元,另外每车次超过3千米收燃油附加费1元(不考虑其他因素)相应的收费系统的程序框图如图所示,则处应填_,处应填_(2)某居民区的物业部门每月向居民收取卫生费,计费方法如下:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图解(1)当x3时,y82.6(x3)192.6(x3)2.6x1.2;当x3时,y8.(2)设应收取的卫生费用y(元)表示,人数用x表示,则y算法如下:第一步,输入x.第二步,若x3,则y5;否则执行第三步第三步,y51.2(x3)第四步,输出y.程
7、序框图如图所示答案(1)y2.6x1.2y8类题通法设计程序框图解决实际问题的步骤(1)读懂题意,分析已知与未知的关系;(2)概括题意写出表达式;(3)设计算法步骤;(4)根据算法步骤画出程序框图活学活用为了加强居民的节水意识,某市制定了以下生活用水收费标准:每户每月用水未超过12立方米时,每立方米收费2.8元,并加收1.4元的城市污水处理费;超过12立方米的部分,每立方米收费4.2元,并加收1.4元的城市污水处理费设某户每月用水量为x立方米,应缴纳水费y元,请你设计一个输入用水量、输出应缴水费额的算法,画出程序框图解:y与x之间的函数解析式为y算法设计如下:第一步,输入每月用水量x(x0)第
8、二步,判断输入的x是否超过12,若x12,则应缴纳水费y5.6x16.8;否则应缴纳水费y4.2x.第三步,输出应缴水费y.程序框图如图所示:典例设计程序框图,求方程axb0(a,b为常数)的解解题流程程序框图为:多维探究角度一在解决此类问题时要注意相关题目的求解,如将本例中的等式改为不等式,问题就变为:设计一个程序框图,求不等式axb0(a,b为常数)的解集,如何求解?解:算法如下:第一步,输入a,b.第二步,判断a是否大于0.若a0,则输出“x”,结束算法;否则,执行第三步第三步,判断a是否等于0.若a0,b0.则输出“x是任意实数”,结束算法;若a0,b0,则输出“此不等式无解”,结束算
9、法;若a0,则输出“x”,结束算法程序框图如下:角度二若将“角度一”中的不等式改为“ax2bxc0(a0)”,试写出算法,并画出程序框图解:算法步骤如下:第一步,输入三个系数a,b,c(其中a0);第二步,计算b24ac.第三步,判断0是否成立若是,则输出“不等式的解集为”;否则,计算x1,x2,输出“不等式解集为(x1,x2)”结束算法程序框图如图所示:类题通法1条件结构的嵌套所谓嵌套,是指条件结构内又套有小的分支,对条件进行二次或更多次的判断常用于一些分段函数的求值问题一般地,如果是分三段的函数,则需要引入两个判断框;如果是分四段的函数,则需要引入三个判断框;以此类推2条件结构的应用凡必须
10、先根据条件作出判断再决定进行哪一个步骤的问题,如分段函数问题,在画程序框图时,必须引入一个判断框,应用条件结构随堂即时演练1如图是算法流程图的一部分,其算法的逻辑结构是()A顺序结构B条件结构C判断结构 D以上都不对解析:选B此逻辑结构是条件结构2给出以下四个问题:输入一个数x,输出它的相反数;求面积为6的正方形的周长;求三个数a,b,c中的最大数;求函数f(x)的函数值其中不需要用条件结构来描述其算法的有()A1个 B2个C3个 D4个解析:选B语句不需要对x进行判断,所以不需要用条件结构来描述算法;语句不需要进行判断,不需要使用条件语句;语句要比较两个数的大小,需要用到条件结构;语句为分段
11、函数,需要判断x的范围,所以需要用到条件结构来描述算法3如图所示的程序框图,输入x2,则输出的结果是_解析:通过程序框图可知本题是求函数y的函数值,根据x2可知y2.答案:24已知函数y如图所示的是给定x的值,求其对应的函数值y的程序框图处应填写_;处应填写_解析:由框图可知只要满足中的条件则对应的函数解析式为y2x,故此处应填写x2,则处应填写ylog2x.答案:x2?ylog2x5如下图,给出了一个算法的流程图,根据该流程图,回答下列问题:(1)若输入的四个数为3,4,7,18,则最后输出结果是_(2)该算法流程图是为什么问题而设计的?解:(1)18(2)为求a,b,c,d四个数中的最大数
12、并进行输出而设计的课时达标检测一、选择题1下列关于条件结构的说法正确的是()A条件结构的程序框图中有两个入口和一个出口B无论条件结构中的条件是否满足,都只能执行两条路径之一C条件结构中的两条路径可以同时执行D对于一个算法来说,判断框中的条件是唯一的答案:B2如图所示框图,当x16,x29,p8.5时,x3等于()A7B8C10 D11答案:B3下面的程序框图,若输入a,b,c分别是21,32,75,则输出的值是()A96 B53C107 D128答案:B4程序框图如图所示,若输出的y0,那么输入x的值为()A3,0 B3,5C0,5 D3,0,5答案:A5某程序框图如图所示,现输入如下四个函数
13、,则可以输出的函数是()Af(x)x2Bf(x)Cf(x)ln x2x6Df(x)x3x答案:D二、填空题6如图是求实数x的绝对值的算法程序框图,则判断框中可填_解析:因为满足条件直接输出x,否则输出x,条件应该是x0?或x0?答案:x0?或x0?7如图是某种算法的程序框图,当输出的y的值大于2时,则输入的x的取值范围为_解析:由题知,此算法的程序框图是求分段函数f(x)的值若f(x)2,当x0时,令3x12,即3x3,所以x1,得x1;当x0时,令2,得x4.综上所述,x的取值范围为(,1)(4,)答案:(,1)(4,)8如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大
14、的数,那么在空白的判断框中,应该填入_解析:由框图知将a,b,c中较大的用x表示,先令xa,再比较x与b的大小若bx,则令xb,否则判断x与c的大小;若xc,则令xc,输出x,否则直接输出x.答案:cx?三、解答题9如图所示的程序框图,其作用是:输入x的值,输出相应的y值若要使输入的x值与输出的y值相等,求这样的x值有多少个?解:由题可知算法的功能是求分段函数y的函数值要满足题意,则需要或或解得x0或x1或x3,共3个值10在新华书店里,创新方案每本售价14.80元,书店为促销,规定:如果顾客购买5本或5本以上,10本以下则按九折(即13.32元)出售;如果顾客购买10本或10本以上,则按八折(即11.84元)出售请设计一个完成计费工作的程序框图解:程序框图: