1、1.3 基本算法语句第 2 课时【重点难点】重点:1.正确理解条件语句的步骤、结构及功能,并掌握其结构;2.能正确地使用条件语句表示选择结构 难点:使用条件语句表示选择结构.【学习导航】 【 知识网络 】 【 学习要求 】1 正确理解条件语句的步骤、结构及功能,并掌握其结构.2使用条件语句表示选择结构.3能利用条件语句进行简单的应用.【课堂互动】自学评价 来源 : K1问题 某居民区的物管部门每月按以下方法收取卫生费:3 人和 3人以下的住户,每间户收取 5元;超过 3人的住户,每间超出 1人加收 1.2元。【分析】为了计算卫生费,应先判断住户人数是否超过 3人,然后再选用相应的方法进行计算。
2、其算法为:S1 输入住户人数 n;S2 如 果 n3,那么 ,否则 ;5 c 2.1)(5 ncS3 输出 c。上述算法用流程图表示如下:该问题算法的自然语言描述中,将汉字部分用英语表示为:Read nIf n3 Then单分支的 If 语句条件语句双分支的 If 语句开始输入 nn3Y结束2.1)3(5 ncN 输出c5 cElse2.1)3( nEnd IfPrint c请留意上面代码中黑体的部分,在程序语言中我们可以通过条件语句(conditional statement)来表现流程图中的选择结构。条件语句的一般形式是其中 A 表示判断的条件,B 表示条件满足时执行的操作内容,C 表示条
3、件不满足时执行的操作内容,End If 表示条件语句的结束。注意:Else 要单独书写一行,If 和 End If 一定要配对 。为了便于阅读和清晰,通常将 B和 C 的内容代码缩进书写。如果只要满足条件 A 就执行 B,而不考虑其他任何情况,这时条件语句的一般形式可写成If A ThenBEnd If或If A Then B前者适用于 A 是多条语句的情况。上述问题中,有可能被执行的操作内容最多只有两种可能性,在实际问题中会遇到被执行的操作内容有可能不止两种情况,此时我们就要用 If语句的嵌套,请看下面的问题:2问题:儿童乘坐火车时,若身高不超过 1.1m,则无需购票;若身高超过 1.1m但
4、不超过 1.4m,可买半票;若超过 1.4m,应买全票,试设计一个购票的算法,画出流程图并写出伪代码。【解】上述购票的算法步骤为:S1 测量儿童的身高 h。S2 如果 h1.1,那么免费乘车; 否则,如果 h1.4,那么购买半票;否则,购买全票。将上述算法中用黑体表示的文字用含 If关键词表示的伪代码为(注意斜体的文字表示):Read hIf h1.1 ThenPrint 免费乘车Else If h1.4 ThenPrint 半票乘车ElsePrint 全票乘车来源:.If A ThenBElseCEnd IfEnd If流程图:来源:学 上述 If语句的嵌套可用一般形式表示为:【说明】A 1
5、,A2,A3 表示各类判断的条件 ,而 B1,B2,B3,Bn 表示在各自条件满足的情况下所执行的操作内容.【经典范例】例 1 已知函 数0xy试写出计算 y值的一个算法。【解】用伪代码表示为:Read xIf x0 Theny1E lse If x=0 Theny0Elseh1.4开始输入 hh1.1半票乘车全票乘车免费乘车结束YYNNIf A1 ThenB1Else If A2 ThenB2Else If A3 ThenB3ElseBnEnd Ify-1End IfPrint y流程图:来源:Z.例 2 已知函数 ,设计一个输入 的值 ,计算 的值的算法.1032xy xy【解】算法如下:
6、 Read xIf x0y-1y0y1结束Y NNx=0输出 yRead xIf x0 Then y 32xEls e If x0 Then y 5Else y0End IfPrint y如果输入 x 2,则输出结果 y 为( B )A.3 B.3 C. 5 D. 5.表示:输入两个数,输出较大的数。【解】来源:Z.xx.k.ComRead a,bIf .Print aElsePrint bEnd If4.已知函数 ,试写出计算 y 值的一个算法。0xy【解】伪代码一:If x0 Then x-xyxprint y伪代码二:If x0 ThenyxElsey-xEnd If5.到银行办理个人异
7、地汇款(不超过 100 万)时,银行要收取一定的手续费,汇款不超过100 元,收取 1 元手续费;超过 100 元但不超过 5 000 元,汇款额的 1%收取;超过 5 000 元,一律收取 50 元手续费。试用条件语句描述汇款额为 x(元)时,银行收取的手续费 y(元)的算法过程,并画出流程图。【解】Read x (x1000000)If x100 Theny1Else If x5000 Theny0.01xElsey50End IfPrint y流程图略.第 8 课时基本算法语句 (2)分层训练1下列循环格式正确的是( )AFor 循环变量 From 初值:步长 End ForBFor 循
8、环变量 From 初值 To 终值 步长 循环体 End ForC While 循环体 初值 终值 End WhileDWhile 表达式 End2循环语句中的步长( )A可以省略 B不 能省略 C只有步长为 1 时才可省略 D以上全错3执行算法程序:S 0For I From 1 To 10000 Step 2SS+IEnd For中,前 10 次循环后 S 的值是 4.下列伪代码所描述的算法是计算 公式的:s0t1For i From 1 to 10ttiss+tEnd ForA 10321B sC !D 945. 写出 求所有立方小于 1000 的正整数的算法,并画出流程图,写出伪代码。 6. 写出一个计算 的算法,并画出流程图,写出伪代码。10321思考 运用7.用循环语句描述求的一个算法。10941328. 青年歌手大奖赛有 10 名选项手参加,并请了 12 名评委,为了减少极端分数的影响,通常去掉一个最高分和一个最低分后再求平均 分,请用算法语句表示 :输入 12 名评委所打的分数 (i=1,2 , ,12 ) ,用函数 和 分 别求出ia ),(12aMxi ),(12ain(i=1,2 , ,12 )中的最大值和最小值,最后输出该歌手的成绩。i9.写出求的值的算法代码。n2)1(654321w.w.w.zxxk.c.o.m