1、第2课时 条 件 结 构 必备知识自主学习 1.条件结构的定义 算法的流程根据条件是否成立有不同的流向,处理上述过程的结构就是条件结构.导思 1.什么是条件结构?什么样的问题适合用条件结构解决?2.如何用条件结构设计程序框图解决有关问题?【思考】顺序结构能否完成处理分类讨论的问题这一任务?条件结构可以吗?提示:分类讨论是带有分支的逻辑结构,顺序结构是按顺序依次执行的,不能完成这一任务,要用条件结构.2.条件结构的程序框图的两种形式及特征 名称 形式一 形式二 结构 形式 特征 两个步骤A,B根据条件选择一个执行 根据条件是否成立选择是否执行步骤A【思考】1.条件结构是怎样执行的?提示:条件结构
2、是先判断再执行.2.条件结构的判断框有两个出口,是否条件结构执行的结果也有两个?提示:不是.虽然条件结构的判断框有两个出口,但根据条件是否成立,选择的出口是唯一的.【基础小测】1.辨析记忆(对的打“”,错的打“”)(1)条件结构是一种重要的基本逻辑结构,任何算法都离不开它.()(2)条件结构的条件需要放在判断框内,判断框有两个出口,根据条件的成立与否,要走不同的出口.()(3)条件结构的判断框有两个出口,所以执行条件结构后的结果不唯一.()2.(教材二次开发:例题改编)已知如图是程序框图的一部分,其中含条件结构的个数是()A.0 B.1 C.2 D.3【解析】选C.因为不含条件结构,含条件结构
3、,所以含有条件结构的个数是2.3.如图所示的程序框图,其功能是()A.输入a-b或b-a的值,按从小到大的顺序输出它们的值 B.输入a-b或b-a的值,按从大到小的顺序输出它们的值 C.求a-b的最大值 D.求a-b的绝对值【解析】选D.根据执行过程可知该程序框图的功能是输入a,b的值,最后输出a-b的绝对值.关键能力合作学习 类型一 对条件结构的理解(数学抽象)【题组训练】1.条件结构不同于顺序结构的特征是()A.处理框 B.判断框 C.输入、输出框 D.起止框 2.下列关于条件结构的描述,不正确的是()A.条件结构的出口有两个,但在执行时,只有一个出口是有效的 B.条件结构的判断条件要写在
4、判断框内 C.对于一个程序框图来说,判断框内的条件是唯一的 D.条件结构根据条件是否成立,选择不同的分支执行 3.下列问题的算法宜用条件结构表示的是()A.求点P(-1,3)到直线3x-2y+1=0的距离 B.由直角三角形的两条直角边求斜边 C.解不等式ax+b0(a0)D.计算100个数的平均数 4.下列算法中,含有条件结构的是()A.求两个数的积 B.求点到直线的距离 C.解一元二次方程 D.已知梯形两底和高求面积【解题策略】两角度理解条件结构(1)在条件结构中,判断框有一个进入点,两个退出点,与顺序结构不同的是:它不依次执行指令,而是依据条件作出逻辑判断,选择执行两个指令中的一个.这里的
5、“判断”主要判断“是”或“否”,即判断条件是否成立.(2)注意点:理清所要实现的算法的结构特点和流程规则,分析其功能.结合框图判断所要填入的内容或计算所要输出或输入的值.类型二 条件结构的设计(数学运算、逻辑推理)角度1 简单条件结构 【典例】求过两点P1(x1,y1),P2(x2,y2)的直线的斜率.设计该问题的算法并画出程序框图.【思路导引】先对x1,x2是否相等进行判断,然后利用斜率公式求解.【变式探究】若该典例中已知P1(3,2),P2(m,1),试写出输出结果.【解析】依据算法可知当m=3时,输出的结果是斜率不存在;当m3时输出的直线的斜率是 2 1.3m角度2 条件结构的嵌套 【典
6、例】如图所示的程序框图运行后输出结果为 ,则输入的x值为()A.-1 B.C.D.-1或 【思路导引】先弄清该程序框图的作用是什么,然后再由输出的结果,倒推出x的值.12122222【解题策略】含有条件结构的程序框图的设计 设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言).如果已经非常熟练地掌握了画程序框图的方法,那么可以省略设计算法步骤而直接画出程序框图.对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决.【题组训练】1.若f(x)=x2,g(x)=log2x,则如图所示的程序框图中,输入x=0.25,输出h(x)=()A.0.25 B.
7、2 C.-2 D.-0.25【解析】选C.当x=0.25时,f(0.25)=g(0.25)=-2,故执行“是”路径,即h(x)=log2x,h(0.25)=log20.25=-2.1162.阅读如图所示的程序框图.如果输入a=log3 ,b=,c=,那么输出的是_.12131()2132【补偿训练】1.计算函数y=的函数值的程序框图如图所示,则的填空完全正确的是()A.y=0;x=0?;y=x+6 B.y=0;x0?;y=0 D.y=x2+1;x=0?;y=0 2x1x00 x0 x6x0,2.执行如图所示的程序框图,若输出的结果是8,则输入的数是()A.2或-2 B.2 或-2 C.-2或-
8、2 D.2或2 22222类型三 程序框图的应用(数学运算、数学建模)【典例】某小区每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.步骤 内容 理解 题意 条件:已知3人和3人以下的住户与超过3人的住户的两种收费标准.结论:设计一个算法,依据人数收取的卫生费,并画出程序框图.思路 探求 由于收取卫生费是按不超过3人与多于3人两种情况收取,所以可选择条件结构来处理 步骤 内容 书写 表达 依题意得,算法如下.第一步,输入人数n.第二步,若n3,则y=5;否则,y=5+(
9、n-3)1.2.第三步,输出卫生费y.程序框图如图所示.步骤 内容 题后 反思 明晰程序框图中各程序框的功能,然后按流程线指引的方向从上到下(或从左到右)依次执行验证.【解题策略】理解条件结构 条件结构有一个入口、两个出口.重在理解判断条件,其中判断条件一定要能明确出口方向.【跟踪训练】1.某市出租车的起步价为8元(含3千米),超过3千米的 里程每千米收2.6元,另外每车次超过3千米收燃油附 加费1元(不考虑其他因素).相应的收费系统的程序框图 如图所示,则(1)处应填_,(2)处应填_.2.设y为年份,按照历法的规定,如果y为闰年,那么y能被4整除不能被100整除,或者y能被400整除.对于
10、给定的年份y,要确定其是否为闰年,请画出其算法的程序框图.课堂检测素养达标 1.如图所示的程序框图中,当x1=6,x2=9,p=8.5时,x3等于()A.7 B.8 C.10 D.11【解析】选B.由程序框图可知,p=8.5 故令p=8.5,则x3=8.52-9=8.692,23xx22.根据如图所示的程序框图,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则()A.框1中填“是”,框2中填“否”B.框1中填“否”,框2中填“是”C.框1中填“是”,框2中可填可不填 D.框2中填“否”,框1中可填可不填【解析】选A.成绩不低于60分时输出“及格”,即x60时满足条
11、件,故框1填“是”,框2填“否”.3.设计求下列函数的函数值的算法,其中需要用到条件结构的是()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项中均不需要用条件结构.22x1x1x1x1,4.(2020庆阳高一检测)已知函数y=|x-3|,如图所示程序框图表示的是给定x值,求其相应函数值的算法.请将该程序框图补充完整.其中处应填_,处应填_.5.给出如下一个算法:第一步:输入x.第二步:若x0,则y=x2-1,执行第四步,否则执行第三步.第三步:若x=0,则y=1,否则y=|x|.第四步:输出y.(1)画出该算法的程序框图;(2)若输出y的值为1,求输入实数x的所有可能取值.