1、第1课时条 件 语 句核心必知1条件语句条件语句是表达选择结构最常用的语句2两种条件语句(1)If语句框图:语句格式:If条件Then语句1Else语句2EndIf(2)复合If语句框图:语句格式:If条件1Then 语句1ElseIf条件2Then 语句2Else 语句3EndIfEndIf问题思考1条件语句必须要有If,Then、End If吗?提示:条件语句必须有If,Then、End If,根据需要Else及其后的语句体可以省略2使用条件语句应注意什么问题?提示:条件语句必须以If语句开始,以End If语句结束,有几个If语句,就必须有几个End If语句对应 讲一讲1.已知函数y输
2、入x的值,得到相应函数值,画出算法框图并用If语句描述该算法尝试解答框图如图所示:用语句描述为:输入x;Ifx0Theny2*x*x-5Else y=x-1End If输出 y.若问题的解决需要根据条件是否成立判断应去执行两个不同步骤中的哪一个步骤,则用简单If语句来编写算法练一练1求过两点P1(x1,y1)、P2(x2,y2)的直线的斜率,写出解决问题的算法语句,并画出算法框图解:算法语句描述为:输入x1,y1,x2,y2;Ifx1x2Then输出“斜率不存在”ElsekEnd If.输出k算法框图如图所示 讲一讲2.已知函数y输入x的值,输出相应的函数值画出框图,并用语句描述尝试解答框图如
3、下图所示:用语句描述为:输入x;Ifx1ThenyxElseIfx10Then y2*x-1 Else y=3*x-1 End IfEnd If输出 y.在某些较为复杂的算法中,有时需要对按条件要求执行的某一语句(特别是Else后的语句体2)继续按照另一条件进行判断,这时可以再利用一条件语句完成这一要求,这就形成了条件语句的嵌套,其一般形式是:外层条件语句练一练2写出关于x的方程axb0的解的算法框图,并用语句描述解:算法框图如下:算法语句为:输入a,b;Ifa0Then xb/a输出xElse Ifb0Then 输出“方程的根是任意实数” Else 输出“方程无解” End IfEnd If
4、【解题高手】【易错题】已知分段函数y编写程序,输入自变量x的值,输出其对应的函数值y.错解算法语句为:输入x;Ifx0Then yx1Else Ifx0Then y0 Elseyx1EndIf错因(1)每个If都必须有一个End If与之相匹配;(2)错解无输出语句正解算法语句为:输入x;Ifx0Then yx1ElseIfx0Theny0Else yx1EndIfEndIf输出y.1下列关于条件语句的叙述正确的是()A必须有ElseB可以没有End IfC可以没有Else,但必须有End IfD可以没有End If,也可以没有Else解析:选C 条件语句必须以If开头,以End If结束,其
5、中的Else可以没有2条件语句对应算法框图中的基本逻辑结构是()A顺序结构B选择结构 C模块结构 D输出结构答案:B3(陕西高考)根据下列算法语句,当输入x为60时,输出y的值为()输入xIf x50 Then y0.5*xElse y=25+0.6*(x-50)End If输出 yA25B30 C31D61解析:选C 通过阅读理解知,算法语句是一个分段函数f(x)f(60)250.6(6050)31.4下列程序语言的条件语句中,判断条件是_输入x;Ifx0Then y2*xElse y=1-xEnd If输出y解析:If后面就是条件语句的判断条件,即x0是判断条件答案:x05写出下面语句运算
6、的结果输入a;Ifa0Then 输出“不存在”Else t 输出tEnd If当a3时,输出结果为_;当a9时,输出结果为_解析:本算法语句的作用是输入一个数,若该数大于等于0.求该数的算术平方根,当输入的数小于0时,该数的算术平方根不存在答案:不存在36某商店出售音乐CD,购买500片和500片以上,按每片4.5元计价,否则按每片5元计价请画出算法框图按输入CD片数计算不同收费金额,并写出计算程序解:设M表示收费金额(元),P表示出售片数(片),则有M.该算法用条件语句描述如下:输入P;IfP500ThenM4.5PElseM5PEndIf输出M.算法框图如图一、选择题1当a3时,下面的程序
7、段输出的结果是()输入a;Ifa10Then y2aElse y3*aEndIf输出y.A.9 B.3 C.10 D5解析:选D a310,y2a5.2执行下面语句:输入A,B;If ABThen CA/2Else CB/2EndIf输出C.在两次执行中分别输入8,4和2,4,则两次执行该语句的输出结果分别是()A8,2 B8,4 C4,2 D4,4解析:选C 输入8,4时,满足AB,则C4;输入2,4时,满足AB,则C2.3为了在运行下面的程序之后输出y9,键盘输入应该是()输入x;Ifx0Then y(x1)*(x1)Else y(x1)*(x1)End If输出y.Ax4 Bx2 Cx4
8、或4 Dx2或2解析:选C 当x0时,由(x1)29得x4;当x0 时,(x1)29得x4.4以下程序运行的结果为()a2b2maabbmIfabThen xabElse xabEnd If输出x.A0 B2 C4 D4解析:选A 运行过程中m2,a2,b2,因为ab,所以xab0.5给出以下四个问题:输入一个数x,输出它的绝对值;求函数f(x)的函数值;求面积为6的正方形的周长;求三个数a,b,c中的最大数其中不需要用条件语句来描述其算法的有()A1个 B2个 C3个 D4个解析:选A 要判断x0还是x0;要分x0与x0两种情况;要分ab与ab等情况判断;只有不需要判断,因为正方形的面积一定
9、时,其周长也一定二、填空题6给出下列程序:输入a,b,c;IfabThen abEnd IfIfacThen acEnd If输出a.如果输入10,26,8,那么输出的是_解析:该程序的功能是输入a,b,c的值,求它们中的最小值答案:267阅读下列语句:输入a;Ifa5Then b2*aElse b=a*a+1End If输出b.解析:用算法语句可知,令2a5,则a5(舍)令a215,则a2,满足题意答案:28(江苏高考改编)根据如下所示的程序,当输入的a,b的值分别为2,3时,最后输出的m的值为_输入a,b;IfabThen maElse mbEnd If输出m.解析:a2,b3,则ab,所以mb3.答案:3三、解答题9用基本算法语句描述一个算法,要求输入两个实数,然后由小到大输出这两个数解:用算法语句描述为:输入a,bIfabThen ta ab bt 输出a,bElse输出a,bEnd If