2019-2020年高中数学北师大版必修3教学案:第二章§3 3-1条件语句(含解析) 预习课本P105~107,思考并完成以下问题
(1)If语句的格式是什么?
(2)复合If语句的格式是什么?
[新知初探]
1.If语句
(1)算法框图:
(2)语句格式:
If条件Then
语句1
Else
语句2
End If
[点睛](1)条件语句执行步骤:当计算机执行If语句时,首先对If后的条件进行判断,如果条件符合,就执行Then后的语句1,否则执行Else后的语句2.
(2)在某些情况下,也可以只使用If-Then语句,即
If条件Then
语句
End If
当计算机执行上述If语句时,首先对If后的条件进行判断,如果条件符合,就执行Then 之后的语句,否则执行End If后的语句.
2.复合If 语句
(1)算法框图:
(2)语句格式:
If 条件1 Then
语句1
Else
If 条件2 Then
语句2
Else
语句3
End If
End If
[点睛] (1)复合If 语句一般用于要解决的问题需要分类(分为3类或3类以上)讨论的情况,注意新一层的条件是以上一层的条件为前提,因此有些条件不要重复加上.
(2)在书写和阅读复合If 语句时,要注意“If”和“End If”是成对出现的,内层语句要相对于外层语句缩进两个字符,以便观察出到底哪些If-Then-Else-End If 是一组的.
[小试身手]
1.判断正误.(正确的打“√”,错误的打“×”)
(1)条件语句对应框图中的基本逻辑结构是选择结构.( )
(2)条件语句中必须有Else 和End If.( )
(3)条件语句中可以没有End If.( )
(4)条件语句中可以没有Else ,但是必须有End If.( )
答案:(1)√ (2)× (3)× (4)√
2.给出以下问题:
①求面积为1的正三角形的周长;
②求三个实数的算术平均数;
③求两个实数中的最小数;
④求函数f (x )=⎩⎪⎨⎪⎧ 2x ,x ≥3,x 2,x <3当自变量取x 0时的函数值.其中不需要用条件语句来描
述算法的问题有( )
A .1个
B .2个
C .3个
D .4个
解析:选B ①②不涉及对条件的真假进行判断.
3.执行下面的语句:
输入A ,B ;
If A >B Then
C =A /2
输出C
End If
若输入8,4,则输出结果为( )
A .8
B .4
C .2
D .1
解析:选B 输入8,4时,满足A >B ,则C =A 2
=4. 4.下面的语句中,执行语句3的条件是________.
输入m ;
If m >1 Then
y =m +1
Else
If m <1 Then
y =m +2
Else
y =m -1(语句3)
End If
End If
输出y .
解析:由题可知,当m >1时,y =m +1;当m <1时,y =m +2;当m =1时,y =m -1.故填m =1.
答案:m =1
[典例] 设计计算y =⎩⎪⎨⎪⎧
x +2,x ≥0,x 2+2,x <0函数值的算法,并用相应的算法语句加以描述. [解] 算法如下:
1.输入x .
2.如果x ≥0,则y =x +2;否则,执行第3步.
3.y =x 2+2.
用算法语句描述为:
输入x ;
If x ≥0 Then
y =x +2
Else
y =x *x +2
End If
输出y .
If-Then-Else 语句对应的是两个分支的选择结构,若问题的解决需要根据条件是否成立,判断该去执行两个不同步骤中的哪一个步骤,则用该语句来描述算法.
[活学活用]
根据下列算法语句, 当输入x 为60时, 输出y 的值为( )
A .25
B .30
C .31
D .61 解析:选C 通过阅读理解知,算法语句是一个分段函数f (x )=
⎩
⎪⎨⎪⎧ 0.5x ,x ≤50,25+0.6(x -50),x >50, ∴f (60)=25+0.6×(60-50)=31.
If 语句的叠加的应用
[典例] 本语句描述此算法.
[解] 首先输入a ,b ,c ,再分别比较a 与b ,a 与c 的大小,并总把
较小的数作为a ,这样就找出其中的最小实数了.
算法框图如图所示.
算法语句如下:
输入a ,b ,c ;
If a >b Then
a =b
End If
If a >c Then
a =c
End If
输出a .
If 语句的叠加实质上是If-Then 语句的叠加,If-Then 语句对应的是一个分支为空的选择结构,因此对于需要多次比较与判断的算法,对应的是选择结构的叠加(即条件语句的叠加),此时每一个条件语句都是一个独立的整体,在下一个条件语句之前要加上“End If”.
[活学活用]
根据下面的程序,画出该程序的算法框图,并说明该程序的功能.
输入a ,b ,c ;
If a >b Then
t =a
a =b
b =t
End If
If a >c Then
t =a
a =c
c =t
End If
If b >c Then
t =b
b =c
c =t
End If
输出a ,b ,c .
解:
程序由三个If 语句叠加而成,因此画框图的时候,我们分别将对应的选择结构画出来,并用流程线连接到一起,再补充上起止框和输入、输出框,可得框图如图所示.该程序的流程是:首先输入a ,b ,c ,然后把较小的数赋给a ,把中间数赋给b ,把较大数赋给c ,再把这三个数从小到大排列,依次输出.因此,该程序的功能是将a ,b ,c 这三个数按照从小到大排列.
[典例] 已知函数y =⎩⎪⎨⎪⎧ (x +1)2,x ≤-1,2x +2,-1<x <1,1x -1,x ≥1,画出算法框图并 …… 此处隐藏:4536字,全部文档内容请下载后查看。喜欢就下载吧 ……