-1-2.3.1条件语句[航向标·学习目标]1.理解条件语句是表达选择结构的语句,条件语句在程序中起判断作用,在解决实际问题中起决定作用.2.掌握条件语句的书写格式,掌握用If语句和复合If语句描述条件结构算法.[读教材·自主学习]1.输入语句又称“键盘输入语句”,在算法语句运行过程中,停机等候用户由键盘输入数据,而不需要在写算法语句时指定,其作用是实现算法的□01输入信息.2.输出语句又称“打印语句”将表达式的值在屏幕上显示出来,其作用是实现算法的□02输出信息.3.条件语句的格式1(1)格式(2)功能:当计算机执行上述语句时,首先对If后边的条件进行判断,如果□05满足条件P,那么执行语句A,否则执行□06End_If之后的语句,即结束条件语句.(3)注意:算法框图中的选择结构(下图)转化为条件语句格式1.4.条件语句的格式2(1)格式-2-(2)功能:当计算机执行上述语句时,首先对If后的条件进行判断,如果满足条件P,那么执行□09语句1,再执行EndIf之后的语句,即结束条件语句;如果不满足条件P,那么执行□10语句2,再执行EndIf之后的语句,即结束条件语句.[看名师·疑难剖析]1.使用条件语句时应注意的问题(1)条件语句是一个语句,If,Then,Else,EndIf都是语句的一部分.(2)条件语句必须是以If开始,以EndIf结束,一个If必须与一个EndIf相对应.(3)如果程序中只需对条件为真的情况作出处理,不用处理条件为假的情况时,Else分支可以省略,此时条件语句就由双支变为单支.(4)为了程序的可读性,一般If、Else与EndIf顶格书写,其他的语句体前面则空两格.2.条件语句的嵌套及一般形式在某些较为复杂的算法中,有时需要对按条件要求执行的某一语句(特别是Else后的语句体2)继续按照另一条件进行判断,这时可以再利用一条件语句完成这一要求,这样就形成了条件语句的嵌套.其一般形式为:If条件1Then语句体1ElseIf条件2Then语句体2Else语句体3EndIf内层条件语句EndIf外层条件语句相应的程序框图为:-3-注意:在应用条件结构的嵌套时,注意If与EndIf是由内层到外层相对应的.程序编写时要成对出现.考点一输入、输出语句的格式与作用例1写出下列程序的运行结果.(1)Inputa,bm=aa=bb=mPrinta,bEnd若输入2,5,则输出结果为________;(2)Print“26+24=”;26+24End输出结果为________;(3)Inputa,b,cPrinta,b,cEnd若输入1,2,3,4,5,则输出结果为________.[解析]本题主要考查输入、输出语句的作用.[答案](1)52(2)26+24=50(3)123[变式训练1]下列给出的输出语句正确的是________.①PrintA=4-4-②Print“你的姓名”XM③Printa,b,c④Print20,3*2④PrintS答案③④⑤解析结合输出语句格式,对照说明内容,比较可得结论.故填③④⑤.考点二If-Then语句的应用例2编写程序并画出算法框图,输入一个正数x,求函数y=|lnx|(x0)的值.[分析]由题目可获取以下主要信息:①本题是求函数y=|lnx|的函数值的问题.②写出程序和算法框图.解答本题可以先求出lnx的值.利用单支条件语句对lnx0时的值输出其相反数即可.[解]算法框图如下图.程序如下:Input“请输入x”;xy=LOGxIfy0Theny=-yEndIfPrint“函数值为”;yEnd类题通法-5-单支条件语句采用If-Then的形式,对If后的条件进行判断,若条件成立,则执行Then后的语句;若条件不成立,则结束条件语句,执行EndIf后面的语句.[变式训练2]设计程序,对输入的任意两个实数,按从大到小的顺序排列,并输出.解算法框图如下图所示:程序:考点三If-Then-Else语句的应用例3已知y=x2+1x≥0,x2-1x0,编写程序并画出算法框图,输入自变量x的值,输出相应的函数值.[分析]由题目可获取以下主要信息:①本题是关于分段函数的求值问题;②分段函数解析式已给出;③输入自变量x,要求输出相应的函数值.解答本题可用If-Then-Else语句对x≥0是否成立做判断,根据其是否成立求函数值要用不同的解析式.[解]算法框图:-6-程序:类题通法双支条件语句,采用If-Then-Else的格式编写,一般要先通过程序框图理清条件是否成立时执行的语句,再写出程序.[变式训练3]已知函数f(x)=x2+2xx≤0,3xx0,编写一个程序,使得对于每一个输入的x的值,都能得到相应的函数值.解程序:-7-考点四条件语句的嵌套例4已知分段函数y=1,x0,0,x=0,-1,x0,试画出算法框图并编写程序,输入x的值,输出y的值.[分析]输入的x值,正、负需讨论,故用条件结构的框图,编写含条件语句的程序.[解]算法框图如下图所示.程序:-8-类题通法由算法框图可看出:选择结构中还套有条件结构,形成选择结构的嵌套.因此,在编写程序时,要注意“If”与“EndIf”的配对.常用文字“缩进”来表示嵌套的层次.[变式训练4]以下给出的是用条件语句编写的一个程序,根据该程序回答问题:程序:-9-(1)若输入-4,则输出结果是________;(2)若输入3,则输出结果是________;(3)该程序的功能是求函数________的值.答案(1)-8(2)2(3)y=2xx3,2x=3,x2-1x3解析(1)∵-43,∴y=2×(-4)=-8.(2)∵x=3,∴y=2.(3)将程序转化可得,此程序表达的就是求分段函数y=2xx3,2x=3,x2-1x3的函数值.考点五条件语句的叠加例5设计一个程序,任意输入四个数a,b,c,d,将它们按照从小到大的顺序排列后输出.[分析]我们可以找出a,b,c,d中的最小者放在a中,然后将余下的三个数中的最小者放入b中,再找出余下的两数中的小者放入c中,然后输出a,b,c,d即可将四个数按从小到大的顺序排列.[解]程序如下:Input“a,b,c,d=”;a,b,c,d-10-IfabThent=aa=bb=tEndIfIfcdThent=cc=dd=tEndIfIfacThent=aa=cc=tEndIfIfbdThent=bb=dd=tEndIfIfcdThent=cc=dd=tEndIfPrinta,b,c,dEnd[变式训练5]编写程序并画出程序框图,任意输入三个实数,输出这三个实数中的最小数.解程序如下:算法框图为:-11-[例](12分)下面一个算法框图,能够判断一个整数是否为3的倍数,写出判断框内应填的条件,并根据算法框图写出算法语句.(一)精妙思路点拨-12-(二)分层规范细解因为该算法的功能是判断一个整数是否为3的倍数,故m可能取0,1,2.因为判断为是的时候,输出的是“x是3的倍数”,故判断框内应填m=0①3分算法语句如下:输入x;5分m=xMOD3(xMOD3是x除以3的余数)7分Ifm=0Then②输出“x是3的倍数”9分Else输出“x不是3的倍数”11分EndIf③12分(三)来自一线的报告通过阅卷后分析,对解答本题的失分警示和解题启示总结如下:(注:此处的①②③见分层规范细解过程)-13-(四)类题练笔掌握下面的算法框图中如果输入x=3,计算输出的y值,并结合算法框图写出算法语句.-14-解由于x=3满足条件,所以应代入y=x2-1,计算可得y=8.算法如下:(五)解题设问(1)在算法框图中含有哪些算法的基本结构?________.(2)在写算法时,需要用到什么语句?________.答案(1)顺序结构和选择结构(2)条件语句1.下列语句可用来表示选择结构的是()A.输入语句B.输出语句C.赋值语句D.条件语句答案D-15-2.若输入x的值为3,该程序运行后,输出变量y的值是()A.3B.6C.9D.27答案B解析该程序是求分段函数y=x2x3,2xx≤3的函数值.∴x=3时y=6.3.下面程序:当输入11时,运行程序后,输出的y的值是________.答案9-16-解析该程序是求分段函数y=x-2x≥0,-x-2x0的函数值,∴x=11时,y=9.4.读程序完成下列题目.(1)将程序补充完整;横线处应填________.(2)该程序的功能是________.答案(1)Then(2)输出一个数的绝对值5.编写程序计算y=x的值(x由键盘输入,且可为任意实数).解