高中数学第一章算法初步1.2.2条件语句教学案新人教B版必修.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.2.2 条件语句
预习课本P20~22,思考并完成以下问题
(1)什么是条件语句?
(2)条件语句的格式、功能分别是什么?
[新知初探] 1.条件语句的概念
处理条件分支逻辑结构的算法语句.
2.Scilab语言中的条件语句的格式及功能
1.下列关于if语句的叙述正确的是( )
A.if语句中必须有else和end
B.if语句中可以没有end
C.if语句中可以没有else,但必须以end结束
D.if语句中可以没有end,但必须有else
解析:选C if语句的格式是if­else­end或if­end.
2.阅读以下程序,若输入的是-2.3,则输出的结果是( )
A .-18.4
B .11
C .12
D .11.7
解析:选D 因为a =-2.3<0, 所以y =14+(-2.3)=11.7. 3.某问题算法的程序如图所示:
(1)若x =6,则输出________; (2)若x =18,则输出________.
解析:(1)因为6<10,故y =0.35×6=2.1, (2)因为18>10,故y =3.5+0.7×(18-10)=9.1. 答案:(1)2.1 (2)9.1 4.给出下列程序:
若输出的结果是5,则输入的x =________. 解析:令3x +1=5,则x =4
3
>1成立;
令x +4=5,则x =1>1不成立.故x =4
3或x =1.
答案:4
3
或1
读 程 序
[典例]
(1)若输入-4,则输出结果是________; (2)若输入3,则输出结果是________;
(3)该程序的功能是求函数________的值.根据x 的取值,选择相应的语句执行. [解析] (1)因为-4<3,所以y =2×(-4)=-8. (2)因为x =3,所以y =32
-1=8.
(3)将程序转化可得,此程序表达的就是求分段函数y =⎩⎪⎨⎪⎧
2x ,x <3,
x 2
-1,x ≥3
的函数值.
[答案] (1)-8 (2)8
(3)y =⎩
⎪⎨⎪⎧
2x ,x <3,
x 2
-1,x ≥3
条件语句读图问题解法要点
(1)已知输入值求输出结果时,分析输入值是否满足条件,条件满足时,执行表达式后面的语句序列即得输出结果;条件不满足时,执行else 后面的语句序列,即得输出结果.
(2)已知输出结果求输入值时,要分条件满足和条件不满足两种情况分别进行分析计算,求出输入值,同时注意根据条件对所得结果进行合理的取舍.
(3)根据给定算法要求补充程序中的语句时,要从已给的程序语句中分析,确定满足条件时执行怎样的语句,条件不满足时执行怎样的语句,从而按要求填写相应内容.
[活学活用]
下面程序输出的结果是________.
a =33;
b=99;
if a<b
t=a;
a=b;
b=t;
a=a-b;
,;
end
解析:由于a<b,则把a的值赋给t,此时t=33,然后把b的值赋给a,此时a=99,再把t的值赋给b,此时b=33,最后把a-b(即99-33=66)的值赋给a,则输出结果为a =66.
答案:66
条件语句的编写
[典例] 已知函数f(x)=
⎩⎪

⎪⎧x2-1,x≥0,
2x2-5,x<0
编写一个程序,对每输入的一个x 值,都得到相应的函数值.
[解] 程序:
一般情况下凡是能用一般格式编写的程序都能用最简格式编写,但是最简格式和一般格式的处理方法并不一样,处理两分支结构时一般格式使用起来可能使得程序更简洁.另外当直接写出程序有困难时可以借助程序框图.
[活学活用]
某市规定出租车的收费标准:起步价(不超过2 km)为5元,超过2 km时,前2 km依然按照5元收费,超过2 km的部分,每千米收1.5元.设计程序计算打车费用.解:设打车费用为y元,乘车路程为x km,则
有y =⎩⎪⎨
⎪⎧
5,0<x≤2,1.5x +2,x>2,
程序如下:
条件语句的嵌套
[典例] 已知a 个程序,筛选出这个负数.
[解] 程序框图如图所示:
程序如下: a ==
;b ==;c ==
;if a<0 ,;else
if b<0,

else


end end
嵌套式条件语句是指在解决某些较为复杂的算法中,有时需要对按条件要求执行的某一
语句(特别是else 后的语句序列2)继续按照另一条件进行判断,这时可以再利用一条件语句完成这一要求,这样就形成了嵌套条件语句.
[活学活用] 已知程序:
x =input x =;if x >-1 and x <0y =-x ;else
if x >=0 and x <1y =x ^2;else if x >=1 and x <=2 y =x ; end end end
print io ,y ;
如果分别输入x =12,x =7
4
,则输出的结果分别为________.
解析:当-
1<x<0时,y =-x ;当0≤x<1时,y =x 2
;当1≤x≤2
时,y =x ,即函数的解析式为
y =⎩⎪⎨⎪⎧
-x ,-1<x<0,x 2
,0≤x<1,x ,1≤x≤2.
当x =12时,y =14;当x =74时,y =74.
答案:14,74
[层级一 学业水平达标]
1.条件语句的一般格式如图所示,其中B 表示的是( )
A .满足条件时执行的内容
B .条件语句
C .条件
D .不满足条件时执行的内容
解析:选A 如果表达式A 为真,则执行表达式后的语句B ;如果表达式A 为假,则执行else 后的语句C.故选A .
2.下面程序输入x =-4后,输出的结果为( )
x =


if x>=0y =x*x ;else
y =-x*x ;end
,;
A .2
B .-8
C .16
D .-16
解析:选D 该程序描述的分段函数是f(x)=⎩
⎪⎨⎪⎧
x 2
,x≥0,
-x 2
,x<0.所以f(-4)=-16.
3.下面程序运算的结果是________. A =4.5;
B =6;if A>=5 B =B +1;else
B =B -3; B =B +2;
if B>=4 B =B*B ; else
B =A +B ; end end B
解析:因为A =4.5<5,所以B =B -3=6-3=3,B =B +2=3+2=5>4,所以B =5×5=25.
答案:25
4.下面程序的作用是____________________________.
x ==;
if x>0 y =;else
if x ==0 y =0; else y =+;
end end y
答案:求分段函数y =⎩
⎪⎨⎪

e x
, x>0,0, x =0,的值
+, x<0
[层级二 应试能力达标]
1.当a =3时,下面的程序段输出的结果是( )
A .9
B .3
C .10
D .6
解析:选B 此程序段的功能是求分段函数y =⎩
⎪⎨⎪⎧
a ,a<10,
a 2
,a≥10的函数值,当a =3时,y
=3.故选B .
2.给出以下四个问题,①输入一个数x ,输出它的相反数.②求面积为6的正方形的
周长.③求三个数a ,b ,c 中的最大数.④求函数f(x)=⎩
⎪⎨
⎪⎧
x -1,x≥0,
x +2, x <0的函数值.
其中不需要用条件语句来描述其算法的有( )
A .1个
B .2个
C .3个
D .4个
解析:选B ①②直接用顺序结构即可,不需用条件语句;而③需要判断这三个数的大小,④是分段函数求值问题,故需用到条件语句.
3.给定程序:
x ==;
if x>0 y =1;else
if x ==0y =0; else y =-1; end end y
若输入x =-6,则程序输出的结果是( )
A .1
B .6
C .0
D .-1
解析:选D
该程序实际上是求分段函数y =⎩⎪⎨⎪

1,x>0,0,x =0,
-1,x<0的函数值,当x =-6时,
对应的函数值为-1,故选D .
4.根据下列算法语句,
当输入x 为60时,输出y 的值为( ) A .25 B .30 C .31
D .61
解析:选C 算法语言给出的是分段函数,
y =⎩⎪⎨
⎪⎧
0.5x ,x ≤50,25+
x -,x >50,
输入x =60时,y =25+0.6×(60-50)=31. 5.某程序如下:
当执行此程序时,没有执行语句y =x +1,则输入的x 的范围是________. 解析:没有执行y =x +1,即输入的x 值不满足条件x≥1,故x<1. 答案:(-∞,1)
6.已知函数y =⎩
⎪⎨
⎪⎧
x 2
+1,x≥3,
2-4x ,x<3.如图是求该函数值的程序,则横线①②处应填写的
语句分别是________,________.
解析:由程序可知,y =2-4x 是当条件满足时所执行的内容,亦即当x <3时的函数值,因此①处应填的是条件x <3;在条件语句中,else 后面应该是条件不满足时执行的内容,即
y =x *x +1.
答案:x <3 y =x *x +1 7.阅读下列程序:
如果输入x =-2,则输出结果y =________.
解析:本程序是求分段函数y =⎩⎪⎨⎪⎧ 2x 2+3,x <0,0,x =0,
x +5,x >0
的函数值,∵x=-2,∴y=8+3=11.
答案:11
8.已知函数f(x)=⎩⎪⎨⎪⎧ -x +1,x>0,0,x =0,
x +3,x<0,
请根据输入的x 值求f(x)的值.画出程序框
图,并写出程序语言.
解:程序框图如下:
算法程序如下: x
==
;if x>0
y =-x +1;
else
if x ==0
y =0;
else
y =x +3;
end
end
,;
9.铁路运输托运行李,从甲地到乙地规定每张客票托运费计算方法是:行李重量不超过50 kg 时,按0.25元/kg ;超过50 kg 而不超过100 kg 时,其超过部分按0.35元/kg ;超过100 kg 时,其超过部分按0.45元/kg .编写程序,输入行李重量,计算并输出托运费用.
解:设行李重量为x kg ,应付运费为y 元,则运费公式为
y =⎩⎪⎨⎪⎧ 0.25×x,x≤50,0.25×50+-,50<x≤100,0.25×50+0.35×50+-,x>100.
程序如下:。

相关文档
最新文档