5.3.3条件语句教学目标1.掌握条件语句的一般形式,进一步体会算法的基本思想.2.体会将具体问题的伪代码和流程图相互转化的过程.教学重点条件语句的一般形式教学过程一、问题情境学习函数时我们学过分段函数,实际生活中的许多函数关系都是分段函数.例如:某种食品进行促销活动,若购买3袋或3以下,每袋10元;若购买3袋以上,每袋7.5元.用x(袋)表示购买的袋数,用y(元)表示购买费用,则y是x的函数,函数解析式为y=这是一个分段函数,在计算购买费用时,要先判断自变量x的范围,再进行计算.如果要为这个问题设计一个算法,在算法中应当包含选择结构.二、学生活动根据前面所学的知识,由学生自己设计上述问题的算法并画出流程图.S1输入购买的袋数x;S2如果x≤3,那么y←10x,否则y←7.5x;S3输出y.能不能写出该算法的伪代码呢?三、建构数学用条件语句来表示选择结构.条件语句的一般形式是IfAThenBElseCEndIf其中A表示判断的条件,B表示满足条件时执行的操作内容,C表示不满足条件时执行的操作内容,EndIf表示条件语句结束.注意“EndIf”不能省略.有了条件语句就可以写出上面算法过程的伪代码ReadxIfx≤3Theny=10xElsey=7.5xEndIfPrinty注意:(1)条件语句主要有两种形式:“行If语句”和“块If语句”,为了避免混淆,建议尽量使用“块If语句”;(2)书写时“Then”和“Else”的分支缩进书写便于阅读和理解.关于“行If语句”:其形式为IfAThenB[ElseC]用心爱心专心115号编辑输入xx>0z←1z←-1z←z+1输出z结束YN输入x开始行If语句中判断条件A和满足条件时执行的操作B均只有一句话,可以没有“ElseC”,结束时没有“EndIf”.四、数学运用例2儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m,但不超过1.4m,可买半票;若超过1.4m,应买全票.试设计一个购票的算法,写出伪代码,并画出流程图.解:上述购票的算法步骤为:S1测量儿童身高h;S2如果h≤1.1,那么免费乘车;否则,如果h≤1.4,那么购买半票乘车;否则,购买全票.伪代码如下:ReadhIfh≤1.1ThenPrint免费乘车ElseIfh≤1.4ThenPrint半票乘车ElsePrint全票乘车EndIfEndIf说明:选择结构可由条件语句实现,即满足条件A时,执行某种操作,满足条件B时,执行另外的操作.但在实际问题中,往往可供选择的结果不止两种,这时可利用条件语句的嵌套实现.例2算法的自然语言叙述容易写出,但写出相应的伪代码是本题的一个难点,要注意条件语句“If-Then-Else”的嵌套.在书写时为了便于理解和阅读可以采取缩进书写,嵌套的If语句中“If”、“Else”和“EndIf”对齐,更易于理解.注意结合流程图理解条件语句的嵌套.例3已知函数y=试写出计算y值的算法.解:算法如下:S1输入x;S2如果x>0,那么y←1;否则,如果x=0,那么y←0;否则y←-1.伪代码如下:ReadxIfx>0Theny←1ElseIfx=0Theny←0Elsey←-1EndIf用心爱心专心115号编辑开始输入hh≤1.1免费乘车结束YNh≤1.4YN全票乘车半票乘车开始输入xx>0y←1结束YNx=0YNy←-1y←0输出yEndIfPrinty该分段函数称为“符号函数”.例4(选讲)输入三个数,输出最小数.解:算法如下:Reada,b,cx←aIfb<xThenx←bIfc<xThenx←cPrintx注:这里使用的是“行If语句”,没有“ElseC”,也不需要“EndIf”.参考练习1.有一个算法如下:S1输入x;S2如果x>0,那么z←1;否则z←-1;S3z←z+1;S4输出z.试写出上述算法的伪代码,并画出流程图.解:该算法的伪代码如下:ReadxIfx>0Thenz←1Elsez←-1EndIfz←z+1Printz2.电信部门规定:拨打市内电话时,如果时间不超过3分钟,则收取通话费0.22元;如果通话时间超过3分钟,则超过部分按每分钟0.1元收取通话费,不足1分钟按1分钟计.设通话时间为t(分钟),通话费为y(元),试设计一个计算通话费的算法.解:通话费y关于时间t的函数为y=解决这一问题的算法步骤如下:S1输入时间t;S2如果t≤3,那么y←0.22;否则,如果t∈Z,那么y←0.22+0.1(t-3);否则,y←0.22+0.1([t-3]+1).伪代码如下:ReadtIft≤3Theny=0.22ElseIfint(t)=tThen用心爱心专心115号编辑输入xx>0z←1z←-1z←z+1...