-1-3.1条件语句学习目标核心素养1.熟练掌握条件语句的格式,明确条件语句的功能.(重点)2.能够将具体问题的算法框图转化为算法语句.3.会利用条件语句解决实际生活中的相关问题.(难点)1.通过掌握条件语句的格式,明确条件语句的功能,培养数学抽象素养.2.通过能将具体问题的算法框图转化为算法语句,提升逻辑推理素养.1.条件语句的定义在算法中,选择结构是一种基本结构,条件语句是表达选择结构最常用的语句.条件语句的格式有两种:If-Then语句和If-Then-Else语句.2.条件语句结构及形式形如下面的框图描述的算法都可以用If语句进行表示.其一般形式是:If条件__Then语句1Else语句2EndIf3.复合If语句-2-形如的框图描述的算法都可以用复合If语句来表达.复合If语句的一般形式是:If条件1__Then语句1ElseIf条件2__Then语句2Else语句3EndIfEndIf思考:一般在什么条件下才需要用到条件语句?使用条件语句的关键是什么?[提示]一般在分类处理问题时需要用到条件语句;使用条件语句的关键是明确分类的对象和标准.1.以下关于条件语句的说法,正确的是()A.条件语句的执行是按照程序中的先后顺序执行的B.条件语句实现了算法框图中的选择结构C.条件语句不能嵌套,即条件语句中不能再使用条件语句D.条件语句一定要完整,即If-Then-Else-EndIf中每一部分都不能少B[条件语句的执行是有选择性的,故A错.条件语句中可以有嵌套,故C错.在条件语句中根据需要,Else后的内容可以省略.]2.当输入x=-3.2时,下面的程序输出的结果为()输入x;Ifx0Thenx=-xEndIf输出x.A.-3.2B.3.2C.3D.-3B[由程序知y=x,x≥0,-x,x0,故当输入x=-3.2时y=3.2.]3.阅读下面程序:若输入x=5,则输出结果x为()输入x;Ifx<0Then-3-x=-xEndIf输出x.A.-5B.5C.0D.不确定B[当x≥0时,不符合条件,执行EndIf之后的语句,直接输出x的值,即为5.]4.下面程序的运行结果是________.x=5Ifx<=0Theny=x-3Elsey=x+3EndIf输出y8[∵5>0,∴执行Else后的语句,∴y=5+3=8.]条件语句及其简单应用【例1】已知函数y=x2-1,x≥0,2x-5,x0,对任意的x,求函数值,请画出算法框图并写出程序语句.[解]算法框图为程序语句为输入x;-4-Ifx>=0Theny=x2-1Elsey=2]If语句的适用范围及注意事项1.算法中需要判断情况、分类执行时,如判断一个数的正负、比较两个数的大小、求分段函数的函数值等,都需要用条件语句进行描述.2.若程序只对条件满足时作处理,不用处理条件不满足时的情况,则可以省略Else分支.3.条件语句是一个整体,If,Then,Else,EndIf都是语句的一部分,且“If”和“EndIf”必须成对出现.1.(1)若输入t=4,则下面算法语句执行后输出的结果为()A.4B.0.2C.0.1D.0.3(2)已知下列程序:输入x;Ifx≥0Theny=x+2Elsey=x2EndIf输出y.若输入x=-2,则输出y=________.(1)B(2)4[由给出的算法语句知其功能是求输入任意的t值对应的函数c=-5-0.2+3.8×4-t,t≤4,0.2+0.1×t-3,t>4的值,则当t=4时,c=0.2+3.8×(4-4)=0.2.(2)由程序可知,其功能是输入x的值,求函数y=x+2,x≥0,x2,x<0的函数值.因为x=-2<0,所以y=(-2)2=4.故输出y=4,故填4.]条件语句的实际应用【例2】某商场开展促销活动,采用购物打折的方法销售商品,规定一次性购物在100元以上的,按九五折优惠;200元以上的,按九折优惠;300元以上的,按八五折优惠.显然,采用哪种优惠是与消费额有关的.(1)试建立消费额x与实际支付费用y之间的函数关系;(2)对上述关系用什么语句来表达?(3)如何表达?[解](1)y=x,x≤100,0.95x,100<x≤200,0.9x,200<x≤300,0.85x,x>300.(2)条件语句,因为不同的变量取值,导致不同的函数关系与之对应.(3)输入x;Ifx<=100Theny=xElseIf100<x<=200Theny=0.95]ElseIf200<x<=300Theny=0.9]Elsey=0.85]EndIfEndIfEndIf输出y.-6-编写程序解决实际问题时,通常先建立数学模型,再根据所得数学模型确定算法分析和算法框图,最后再将算法框图转化为程序语句.需要分类讨论的问题,通常用条件语句来解决.2.某市通信部门规定:拨打市内电话时,如果通话时间不超过3min,则收取通话费0.2元;如果通话时间超过3min,则超过部分以0.1元/min收取通话费(t以分钟计,不足1min按1min计).问:如何设计一个计算通话费用的算法?请画出框图并用语句描述该算法.[解]令c(单位:元)表示通话费用,t(单位:min)表示通话时间,则有c=0.20<t≤3.0.2+0.1t-3t>3.依上面分析知,解决这一问题的算法步骤如下:1.输入通话时间t;用语句描述为:输入t;Ift<=3Andt>0Thenc=0.2-7-复合If语句[探究问题]1.条件语句必须要有If,Then,EndIf吗?提示:条件语句必须有If、Then,EndIf,根据需要,Else及其后的语句可以省略.2.一个完整的条件语句中,可以有多个EndIf吗?提示:不可以.因为一个完整的条件语句总是以If开始,以EndIf结束,故不能有多个EndIf.3.复合If语句中有两个If语句,是否可以推广到3个,4个或更多?提示:可以,但要注意书写格式.4.应用条件语句应注意什么问题?提示:条件语句必须以If语句开始,以EndIf语句结束,有几个If语句,就必须有几个EndIf语句对应.【例3】给出一个算法:1.输入x;2.若x0,则y=x+1;否则执行第3步;3.若x=0,则y=0;否则y=x;4.输出y.(1)指出该算法的功能;(2)将该算法用算法框图表示出来;(3)用基本语句写出该算法.[思路探究]解决此问题可先由条件入手分析,再依次画出框图,并用基本语句描述.[解](1)该算法的功能是利用给出的x的值,求函数y=x+1x0,0x=0,xx0的值.(2)算法框图如图所示:-8-(3)用基本语句描述为:输入x;Ifx0Theny=x+1ElseIfx=0Theny=0Elsey=xEndIfEndIf输出y.1.使用复合If语句的注意事项(1)使用范围:判断条件多于一个时;(2)分清层次:编写条件时,要注意If和EndIf的配对使用及书写的格式.2.利用复合If语句解决问题的步骤(1)构思出解决问题的一个算法(可用自然语言);(2)画出算法框图,形象直观地描述算法;(3)根据框图写算法语句,即逐步把框图中的算法步骤用算法语句表达出来.3.(1)下列关于条件语句的说法正确的是()A.每个条件语句中不能没有Else及其后面的语句B.在条件语句的嵌套中,可以只有一个EndIfC.在编写程序中,可以同时使用多个条件语句-9-D.在Then和Else后面只能跟一个语句(2)分析下面的用基本语句描述的算法,当输入的x值为2时,程序的输出结果为________.输入x;Ifx>2Theny=x4ElseIfx<2Theny=0Elsey=5xEndIfEndlf输出y.(1)C(2)25[(1)对于A项,条件语句中可以没有Else及其后面的语句,故A项错;对于B项,条件语句中的If与EndIf是一一对应的,有多少个If时,必须有相同个数的EndIf与之配对,故B项错;C项正确;对于D项,条件语句中可以进行嵌套,故D项错.(2)当x>2时,y=x4;当x<2时,y=0;当x=2时,y=5x,那么当x=2时,y=52=25,即输出25.]1.两种条件语句的区别与联系If语句复合If语句区别该条件语句中只有一个语句体,执行一次语句该条件语句中含有两个及以上语句体联系①If语句实质上是复合If语句的简化.②两种语句首先都是先对条件进行判断,然后才执行相应的语句体,执行完语句体后程序都交汇于一点完成条件语句.2.使用条件语句应注意的问题(1)条件语句是一个语句,If,Then,Else,EndIf都是语句的一部分.(2)条件语句必须是以If开始,以EndIf结束,一个If必须与一个EndIf相对应.(3)为了程序的可读性,一般If、Else、EndIf顶格书写,其他的语句体前面空两格.-10-1.思考辨析(1)条件语句是首先判定If后的条件,若不满足条件,则跳出If语句.()(2)If语句中的条件只能是一个不等关系.()(3)在算法语句中若有条件语句,EndIf只能用一次.()[解析](1)×.由If语句的格式知,当不满足条件时执行Else后的语句,而不是跳出If语句.(2)×.If语句中条件可以是两个不等关系,当然也可以是等式.(3)×.If语句中If与EndIf是对应的,有一个If开头,就有一个EndIf结束.[答案](1)×(2)×(3)×2.写出下列程序运算的结果.输入x;Ifx<=10ThenP=0.35]P=10]若x=6,则P=________;若x=20,则P=________.2.110.5[当x=6时,P=6×0.35=2.1,当x=20时,P=10×0.35+10×0.7=10.5.]3.写出下列程序运行的结果.输入a;Ifa>=0Then输出aElse输出“是负数”EndIf输入-4,输出结果为________;输入9,输出结果为________.是负数3[若输入-4,因为-4<0,所以输出的结果为“是负数”;若输入9,因为9>0,所以输出的结果是9的算术平方根,即3.]4.已知函数y=x-1,x≥0,2x2-5,x0,设计一个算法,写出程序语句,根据输入的x的值,输出对应y的值.[解]算法步骤为:1.输入x;2.如果x≥0,则y=x-1;否则,y=2x2-5;-11-3.输出y.程序语句:输入x;Ifx>=0Theny=x-1Else