第8课时5.3 基本算法语句 【重点难点】 重点:1.正确理解条件语句的步骤、结构及功能,并掌握其结构;2.能正确地使用条件语句表示选择结构. 难点:使用条件语句表示选择结构. 【学习导航】 【知识网络】 【学习要求】 1.正确理解条件语句的步骤、结构及功能,并掌握其结构. 2.使用条件语句表示选择结构. 3.能利用条件语句进行简单的应用. 【课堂互动】 自学评价 1.问题 某居民区的物管部门每月按以下方法收取卫生费:3人和3人以下的住户,每间户收取5元;超过3人的住户,每间超出1人加收1.2元。 【分析】为了计算卫生费,应先判断住户人数是否超过3人,然后再选用相应的方法进行计算。其算法为: S1 输入住户人数n; S2 如果n≤3,那么,否则; S3 输出c。 上述算法用流程图表示如下: 该问题算法的自然语言描述中,将汉字部分用英语表示为: Read n If n≤3 Then  Else  End If Print c 请留意上面代码中黑体的部分,在程序语言中我们可以通过条件语句(conditional statement)来表现流程图中的选择结构。条件语句的一般形式是 其中A表示判断的条件,B表示条件满足时执行的操作内容,C表示条件不满足时执行的操作内容,End If表示条件语句的结束。 注意:Else要单独书写一行,If和End If一定要配对。为了便于阅读和清晰,通常将B和C的内容代码缩进书写。 如果只要满足条件A就执行B,而不考虑其他任何情况,这时条件语句的一般形式可写成  或  前者适用于A是多条语句的情况。 上述问题中,有可能被执行的操作内容最多只有两种可能性,在实际问题中会遇到被执行的操作内容有可能不止两种情况,此时我们就要用If语句的嵌套,请看下面的问题: 2.问题: 儿童乘坐火车时,若身高不超过1.1m,则无需购票;若身高超过1.1m但不超过1.4m,可买半票;若超过1.4m,应买全票,试设计一个购票的算法,画出流程图并写出伪代码。 【解】上述购票的算法步骤为: S1 测量儿童的身高h。 S2 如果h≤1.1,那么免费乘车;否则,如果h≤1.4,那么购买半票;否则,购买全票。 将上述算法中用黑体表示的文字用含If关键词表示的伪代码为(注意斜体的文字表示): Read h If h≤1.1 Then Print 免费乘车 Else If h≤1.4 Then Print 半票乘车 Else Print 全票乘车 End If 流程图: 上述If语句的嵌套可用一般形式表示为: 【说明】A1,A2,A3表示各类判断的条件,而B1,B2,B3,…,Bn表示在各自条件满足的情况下所执行的操作内容. 【经典范例】 例1 已知函数  试写出计算y值的一个算法。 【解】用伪代码表示为: Read x If x>0 Then y←1 Else If x=0 Then y←0 Else y←-1 End If Print y 流程图: 例2 已知函数,设计一个输入的值,计算的值的算法. 【解】算法如下: Read x If x<1 then y←x Else If x<10 then y←2x-1 Else y←3x-11 End If Print y 追踪训练 1.阅读下列程序: Read x If  then y←x Else y←- x End If Print y 请用一个函数表示y与x的关系____. 2.阅读下列程序: Read x If x<0 Then y← Else If x>0 Then y← Else y←0 End If Print y 如果输入x=-2,则输出结果y为( B ) A.3+ B.3- C.-5 D.--5 3.用条件语句表示:输入两个数,输出较大的数。 【解】 Read a,b If a≥b Then Print a Else Print b End If 4.已知函数,试写出计算y值的一个算法。 【解】伪代码一: If x<0 Then x←-x y←x print y 伪代码二: If x≥0 Then y←x Else y←-x End If 5.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费,汇款不超过100元,收取1元手续费;超过100元但不超过5 000元,汇款额的1%收取;超过5 000元,一律收取50元手续费。试用条件语句描述汇款额为x(元)时,银行收取的手续费y(元)的算法过程,并画出流程图。 【解】Read x (x≤1000000) If x≤100 Then y←1 Else If x≤5000 Then y←0.01x Else y←50 End If Print y 流程图略. 第8课时基本算法语句(2) 分层训练 1.下列循环格式正确的是( ) A.For循环变量From初值:步长 End For B.For循环变量From初值To终值 步长 循环体 End For C.While循环体 初值 终值End While D.While表达式End 2.循环语句中的步长( ) A.可以省略 B.不能省略 C.只有步长为1时才可省略 D.以上全错 3.执行算法程序: S←0 For I From 1 To 10000 Step 2 S←S+I End For 中,前10次循环后S的值是 4.下列伪代码所描述的算法是计算 公式的: s←0 t←1 For i From 1 to 10 t←t×i s←s+t End For A. B. C. D. 5. 写出求所有立方小于1000的正整数的算法,并画出流程图,写出伪代码。 6. 写出一个计算的算法,并画出流程图,写出伪代码。 思考运用 7.用循环语句描述求 的一个算法。 8. 青年歌手大奖赛有10名选项手参加,并请了12名评委,为了减少极端分数的影响,通常去掉一个最高分和一个最低分后再求平均分,请用算法语句表示:输入12名评委所打的分数(i=1,2,…,12),用函数和分别求出(i=1,2,…,12)中的最大值和最小值,最后输出该歌手的成绩。 9.写出求 的值的算法代码。 w.w.w.k.s.5.u.c.o.m

【点此下载】