2013高二数学1.3《基本算法语句》第2课时教案(苏教版必修3)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3 基本算法语句第2课时
【重点难点】
重点:1.正确理解条件语句的步骤、结构及功能,并掌握其结构;2.能正确地使用条件语句表示选择结构.
难点:使用条件语句表示选择结构.
.
2.使用条件语句表示选择结构.
3.能利用条件语句进行简单的应用.
【课堂互动】
自学评价
1.问题 某居民区的物管部门每月按以下方法收取卫生费:3人和3人以下的住户,每间户收取5元;超过3人的住户,每间超出1人加收1.2元。
【分析】为了计算卫生费,应先判断住户人数是否超过3人,然后再选用相应的方法进行计算。
其算法为:
S1 输入住户人数n ;
S2 如果n ≤3,那么5−−←c ,否则2.1)3(5⨯-+−−←n c ;
S3 输出c 。
上述算法用流程图表示如下:
该问题算法的自然语言描述中,将汉字部分用英语表示为:
Read n
If n ≤3 Then
5−−←c
Else
2.1)3(5⨯-+−−←n c
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 语句的嵌套可用一般形式表示为:
【说明】A 1,A 2,A 3表示各类判断的条件,而B 1,B 2,B 3,…,B n 表示在各自条件满足的情况下所执行的操作内容.
【经典范例】
例1 已知函数
⎪⎩
⎪⎨⎧<-=>=010001x x x y
试写出计算y 值的一个算法。
【解】用伪代码表示为:
Read x
If x>0 Then
y ←1
Else If x=0 Then
y ←0
Else
y ←
-1
End If
Print y
流程图:
例2 已知函数⎪⎩⎨≥-<10
113101x x x ,设计一个输入x 的值,计算y 的值的算法. 【解】算法如下:
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 0≥x then
y ←x
Else
y ←- x
End If Print y
请用一个函数表示y 与x 的关系__x y =__.
2.阅读下列程序:
Read x
If x <0 Then y ←32x π
+
Else If x >0 Then y ←52x π
-
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.已知函数⎩
⎨⎧<-≥=00x x x x y ,试写出计算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 .10321++++= s
B .10321⨯⨯⨯⨯= s
C .!10!3!2!1++++= s
D .10943321⨯++⨯+⨯+= s
5. 写出求所有立方小于1000的正整数的算法,并画出流程图,写出伪代码。
6. 写出一个计算100
131211++++
的算法,并画出流程图,写出伪代码。
思考∙运用
7.用循环语句描述求
100
199********-++-+-
的一个算法。
8. 青年歌手大奖赛有10名选项手参加,并请了12名评委,为了减少极端分数的影响,通常去掉一个最高分和一个最低分后再求平均分,请用算法语句表示:输入12名评委所打的分数i a (i=1,2,…,12),用函数),,,(122a a a Max i 和),,,(122a a a Min i 分别求出i a (i=1,2,…,12)中的最大值和最小值,最后输出该歌手的成绩。
9.写出求
n n 2)12(654321⨯-++⨯+⨯+⨯ 的值的算法代码。