1、第8课时 5.3 基本算法语句【重点难点】重点:1.正确理解条件语句的步骤、结构及功能,并掌握其结构;2.能正确地使用条件语句表示选择结构 难点:使用条件语句表示选择结构.【学习导航】 【知识网络】 单分支的If语句条件语句双分支的If语句【学习要求】1正确理解条件语句的步骤、结构及功能,并掌握其结构;2使用条件语句表示选择结构;3能利用条件语句进行简单的应用.【课堂互动】自学评价1问题 某居民区的物管部门每月按以下方法收取卫生费:3人和3人以下的住户,每间户收取5元;超过3人的住户,每间超出1人加收1.2元。【解析】为了计算卫生费,应先判断住户人数是否超过3人,然后再选用相应的方法进行计算。
2、其算法为:S1 输入住户人数n;S2 如果n3,那么,否则;S3 输出c。上述算法用流程图表示如下:开始输入nn3Y结束N输出c该问题算法的自然语言描述中,将汉字部分用英语表示为:Read nIf n3 Then Else End IfPrint c请留意上面代码中黑体的部分,在程序语言中我们可以通过条件语句(conditional statement)来表现流程图中的选择结构。条件语句的一般形式是If A Then BElse CEnd If其中A表示判断的条件,B表示条件满足时执行的操作内容,C表示条件不满足时执行的操作内容,End If表示条件语句的结束。 注意:Else要单独书写一行,
3、If和End If一定要配对。为了便于阅读和清晰,通常将B和C的内容代码缩进书写。如果只要满足条件A就执行B,而不考虑其它任何情况,这时条件语句的一般形式可写成If A Then BEnd If或If A Then B前者适用于A是多条语句的情况。上述问题中,有可能被执行的操作内容最多只有两种可能性,在实际问题中会遇到被执行的操作内容有可能不止两种情况,此时我们就要用If语句的嵌套,请看下面的问题:2问题:儿童乘坐火车时,若身高不超过1.1米,则无需购票;若身高超过1.1米但不超过1.4米,可买半票;若超过1.4米,应买全票,试设计一个购票的算法,画出流程图并写出伪代码。【解】上述购票的算法步
4、骤为:S1 测量儿童的身高h; S2 如果h1.1,那么免费乘车;否则,如果h1.4,那么购买半票;否则,购买全票。将上述算法中用黑体表示的文字用含If关键词表示的伪代码为(注意斜体的文字表示):Read hIf h1.1 ThenPrint 免费乘车Else If h1.4 ThenPrint 半票乘车ElsePrint 全票乘车End If流程图:h1.4开始输入hh1.1半票乘车全票乘车免费乘车结束YYNNIf A1 Then B1Else If A2 Then B2Else If A3 Then B3Else BnEnd If上述If语句的嵌套可用一般形式表示为:【说明】A1,A2,A
5、3表示各类判断的条件,而B1,B2,B3,Bn表示在各自条件满足的情况下所执行的操作内容.【经典范例】例1 已知函数试写出伪代码并在流程图框内填空。【解】用伪代码表示为:流程图:(在判断框内填入适当条件)开始输入xYy-1y0y1结束YNN输出y例2 已知函数,设计一个输入的值,计算的值的算法.【解】算法如下: 追踪训练1阅读下列程序: Read x If then yx Else y- x End If Print y 请用一个函数表示y与x的关系.2.阅读下列程序:Read xIf x0 Then yElse If x0 Then yElse y0End IfPrint y如果输入x2,则输出结果y为( )A.3 B.3 C.5 D.5 3.用条件语句表示:输入两个数,输出较大的数。【解】4.已知函数,试写出计算y值的一个算法。【解】伪代码:5.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费,汇款不超过100元,收取1元手续费;超过100元但不超过5000元,汇款额的1%收取;超过5000元,一律收取50元手续费。试用条件语句描述汇款额为x(元)时,银行收取的手续费y(元)的算法过程,并画出流程图。【解】完成下面算法:Read x (x1000000)If Then y1Else If Theny0.01xElsey50End IfPrint y流程图: