1、3.1 条件语句,1.条件语句 在算法中,选择结构是一种基本结构,条件语句是表达选择结构最常用的语句. 2.If语句 形如下面的框图描述的算法都可以用If语句进行表示.,其一般形式是: If 条件 Then 语句1 Else语句2 End If,【做一做1】 条件语句的一般格式是 If A ThenB ElseC End If 其中B表示的是( ) A.满足条件A时执行的内容 B.条件语句 C.条件 D.不满足条件A时执行的内容 解析:语句中的A表示条件,Else后面的C表示不满足条件A时执行的内容,而在Then后面的B表示满足条件A时执行的内容,故选A. 答案:A,3.复合If语句 (1)格
2、式: If 条件1 Then 语句1 Else If 条件2 Then 语句2 Else 语句3 End If End If (2)对应的算法框图如图所示.,输入x; If x=-1 Then Else If Then y=x Elsey=0 End If End If 输出y. 则处填 ,处填 .,答案:y=-x x2,思考辨析 判断下列说法是否正确,正确的在后面的括号里画“”,错误的画“”. (1)一个完整的条件语句,可以出现多个End If.( ) (2)使用复合条件语句时,每一个条件语句都以“If”开头,以“End If”结束,程序中有几个“If”就有几个“End If”与之对应. (
3、 ) (3)如果复合条件语句中有两个“End If”,那么最后一个“End If”是与最上面的第一个“If”对应的. ( ) 答案:(1) (2) (3),探究一,探究二,探究三,思维辨析,当堂检测,对含有条件语句的算法的理解 【例1】 (1)当a=3时,下面的算法语句段输出的结果是( ) 输入a; If a10 Theny=2*a Elsey=a*a End If 输出y. A.9 B.3 C.10 D.6,探究一,探究二,探究三,思维辨析,当堂检测,(2)算法程序如下: 输入x; If x1 Theny=x+1/2 Elsey=2*x+1 End If. 输出y. 如果输出y的值为1,那么
4、输入x的值为 .,探究一,探究二,探究三,思维辨析,当堂检测,解析:(1)因为a=310,所以y=2a=23=6,故选D.,若x1,则由y=2x+1=1,得x=0满足x1. 故输入x的值为0. 答案:(1)D (2)0 反思感悟给出一个用条件语句描述的算法,确定其运行结果、指出其算法功能或补充算法语句时,首先要明确If语句、复合If语句的格式要求,其次要理解条件语句的执行原理.还要特别注意对条件表达式的理解与分析.,探究一,探究二,探究三,思维辨析,当堂检测,变式训练1已知分段函数 编写算法语句,输入x的值,输出相应的y的值. 解算法语句如下: 输入x If x=10 Then y=2*x2
5、Elsey=3 * x-10 End If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,用If语句描述算法 【例2】 (1)任意输入一个实数,如果它大于零,就输出它的倒数;否则,就输出它的相反数,试用算法语句描述该问题的算法. (2)某电信部门规定:拨打市内电话时,如果通话时间不超过3分,则收取通话费0.2元;如果通话时间超过3分,则超过部分以0.1元/分收取通话费(t以整分计,不足1分的按1分计).试用语句描述该算法. 分析:问题显然与选择结构有关,故用条件语句描述算法.,探究一,探究二,探究三,思维辨析,当堂检测,解:(1)算法语句如下: 输入a; If a0 Theny=1/a
6、 Elsey=-a End If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,(2)设c表示通话费用(单位:元),t表示通话时间(单位:分),用条件语句可以表示为: 输入t; If t=3 Thenc=0.2 Elsec=0.2+0.1*(t-3) End If 输出c.,探究一,探究二,探究三,思维辨析,当堂检测,反思感悟1.If语句主要用来描述含有选择结构的算法,即条件语句是与选择结构相对应的. 2.条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小、求分段函数的函数值等,在用条件语句的时候,一定要注意条件语句的格式要求.,探究一,探究二,探究三
7、,思维辨析,当堂检测,变式训练2算法步骤如下: 1.输入x; 2.判断x0是否成立,若成立,则z=-1;若不成立,则z=1; 3.z=z+1; 4.输出z. 试将上面算法用算法语句表示. 解:用语句描述为: 输入x; If x=0 Thenz=-1 Elsez=1 End Ifz=z+1 输出z.,探究一,探究二,探究三,思维辨析,当堂检测,用复合If语句描述算法 【例3】叙述下面算法框图(如图所示)所表示的含义,并且用复合If语句描述该算法.,分析:首先要理解算法框图的含义,根据对x值的判断输出不同的结果,可知它表示的是一个分段函数的求值,进而可以使用复合If语句写出相应结果.,探究一,探究
8、二,探究三,思维辨析,当堂检测,解:算法框图的含义是:求分段函数的值.函数解析式为,用If复合语句可以表示为: 输入x; If x=0 Theny=3*x-1 ElseIf x-4 Theny=4*xElsey=-1End If End If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,反思感悟使用复合If语句的注意事项及解决问题的步骤 1.使用复合If语句的注意事项 (1)使用范围:判断条件多于一个时. (2)分清层次:编写条件语句时,要注意If和End If的配对使用及书写的格式. 2.利用复合If语句解决问题的步骤 (1)构思出解决问题的一个算法(可用自然语言). (2)画出程
9、序框图,形象直观地描述算法. (3)根据框图写算法语句,即逐步把框图中的算法步骤用算法语句表达出来.,探究一,探究二,探究三,思维辨析,当堂检测,变式训练3下面是计算某种税款的算法过程,其算法如下: 1.输入金额x(注x5 000); 2.如果x2 000,那么y=0; 如果2 000x2 500, 那么y=0.05(x-2 000); 否则y=25+0.1(x-2 500); 3.输出税款y,结束. 请写出该算法的算法框图和相应的算法语句.,探究一,探究二,探究三,思维辨析,当堂检测,解:算法框图如图: 算法语句为: 输入x;If x=2 000 Then y=0Else If x=2 50
10、0 Theny=0.05*(x-2 000) Elsey=25+0.1*(x-2 500) End IfEnd If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,设计条件语句时不严谨而致误,错解输入x; If x10 Theny=3*x ElseIf x20 Theny=2*xElse y=xEnd If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,正解输入x; If x0 And x10 Theny=3*x ElseIf x20 Then y=2*xElse y=xEnd If End If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,纠错心得本题一共出现了两处
11、错误,一是误认为输入的是正数,忽略了条件“x0”;二是忽视了复合条件语句的结构,漏掉了一个“End If”,要知道有几个“If”就有几个“End If”与之配对,否则程序无法运行.,探究一,探究二,探究三,思维辨析,当堂检测,解:算法框图如图所示. 算法语句如下: 输入a,b; If a=b Then y=a-b Else y=b-a End If 输出y.,探究一,探究二,探究三,思维辨析,当堂检测,1.下列求函数值的算法中需要用到条件语句的函数为 ( ) A.f(x)=x2-1 B.y=x3-1,D.f(x)=2x 解析:求分段函数的函数值,需要用到条件语句. 答案:C,探究一,探究二,探
12、究三,思维辨析,当堂检测,2.若输入t=4,则执行下面算法语句后输出的结果为 ( ) 输入t; If t=4 Thenc=0.2+3.8*(4-t) Elsec=0.2+0.1*(t-3) End If 输出c. A.4 B.0.2 C.0.1 D.0.3 解析:因为t=4,所以c=0.2+3.8(4-4)=0.2,故输出的结果为0.2. 答案:B,探究一,探究二,探究三,思维辨析,当堂检测,3.若执行下面算法语句后输出的结果是3,则输入x的值是( ) 输入x; If x0 Then y=x Else y=-x End If 输出y. A.0 B.3 C.-3 D.3或-3 解析:若x=3,则
13、y=3;若x=-3,则y=-(-3)=3. 答案:D,探究一,探究二,探究三,思维辨析,当堂检测,4.输入x; If x4 Theny=x ElseIf x10 Then y=2*x-6Else y=3*x-12End If End If 输出y. 若输入12,则输出结果为( ) A.12 B.18 C.19 D.24,探究一,探究二,探究三,思维辨析,当堂检测,解析:因为x=12,124且1210, 所以y=312-12=24. 答案:D,探究一,探究二,探究三,思维辨析,当堂检测,5.用算法语句描述下列算法框图对应的算法.,解:用If语句可以表示为: 输入a; If a=0 Theny=a2输出y Else输出“是负数” End If,