人教A版高中数学必修3《第一章 算法初步 12 基本算法语句 122 条件语句》39.docx
《人教A版高中数学必修3《第一章 算法初步 12 基本算法语句 122 条件语句》39.docx》由会员分享,可在线阅读,更多相关《人教A版高中数学必修3《第一章 算法初步 12 基本算法语句 122 条件语句》39.docx(14页珍藏版)》请在冰豆网上搜索。
人教A版高中数学必修3《第一章算法初步12基本算法语句122条件语句》39
※§1.2.2条件语句※
编制人:
高一数学组___________________审核人:
__________________
【使用说明】:
1.课前认真研读课本,完成自主研读学习单设计的问题..
2.课堂内限时完成合作探究学习单,书写规范.
3.找出疑问和不能独立解决的问题,通过合作探究,教师指导等方式解决.
4.课后认真完成反馈巩固学习单.
【学习目标】
1.正确理解条件语句的步骤、结构及功能;
2.能正确地使用条件语句表示条件结构.
※自主研读学习单※
条件语句 主要有两种形式的格式,分别是IF-THEN格式和IF-THEN-ELSE格式.
1.IF-THEN格式(一个分支结构):
问题1 下图是算法的条件结构用程序框图表示的一种形式,它对应的条件语句的一般格式怎样设定?
答
问题2 你能理解上面这个算法语句的含义吗?
答 当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行ENDIF之后的语句.
2.IF-THEN-ELSE格式(两个分支的条件结构)
问题1
(1)下图是算法的条件结构用程序框图表示的另一种形式,它对应的条件语句的一般格式设定是怎样的?
答
(2)你能理解这个算法语句的含义吗?
答 当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.
※合作探究学习单※
问题探究一 条件语句:
IF-THEN格式
问题求实数x的绝对值有如下一个算法:
第一步,输入一个实数x.
第二步,判断x的符号.若x<0,则x=-x;否则,x=x.
第三步,输出x.
(1)该算法的程序框图如何表示?
(2)你能写出这个算法对应的程序吗?
答
(1)程序框图如下.
(2)程序如下:
例1 阅读下面的程序,说明它是一个什么问题的算法.
解 由程序可知,当a>b时,程序执行语句体,语句体实现了a,b互换,此时ab不成立时,即a
小结 条件语句的作用是在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理.
跟踪训练1 编写程序,使得任意输入的3个整数按从大到小的顺序输出.
解 程序如下:
问题探究二 条件语句IF-THEN-ELSE格式
问题
(1)求实数x的绝对值又有如下一个算法:
第一步,输入一个实数x.
第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.
该算法的程序框图如何表示?
答
(2)由程序框图你能写出算法语句吗?
答
例2 把1.1-11中的程序框图转化为程序.
※反馈巩固学习单※
一、选择题
1.以下关于条件语句的说法,正确的是( )
A.条件语句的执行是按照程序中的先后顺序执行的
B.条件语句实现了程序框图中的条件结构
C.条件语句不能嵌套,即条件语句中不能再使用条件语句
D.条件语句一定要完整,即IF-THEN-ELSE-ENDIF中每一部分都不能少
[答案] B
2.求下列函数的函数值的算法中需要用到条件语句的函数为( )
A.f(x)=log4(x2+1)B.y=x3-1
C.f(x)=
D.f(x)=2x
[答案] C
3.下面程序运行后输出结果是3,则输入的x值一定是( )
INPUT x
IF x>0 THEN
y=x
ELSE
y=-x
ENDIF
PRINT y
END
A.3 B.-3
C.3或-3D.0
[答案] C
[解析] 该程序语句是求函数y=|x|的函数值,∵y=3,∴x=±3.
4.已知程序如下:
INPUT x
IF x>0 THEN
y=4
ELSE
y=2
END IF
PRINT y
END
如果输出的结果为2,那么输入的自变量x的取值范围是( )
A.0B.(-∞,0]
C.(0,+∞)D.R
[答案] B
[解析] 由输出的结果为2,
则执行了ELSE后面的语句y=2,
即x>0不成立,
所以有x≤0.
5.下列程序语句的算法功能是( )
INPUT a,b,c
IF a
a=b
ENDIF
IF aa=c
ENDIF
PRINT a
END
A.输出a,b,c三个数中的最大数
B.输出a,b,c三个数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
[答案] A
[解析] 由程序语句可知,当比较a,b的大小后,选择较大的数赋给a;当比较a,c的大小后,选择较大的数赋给a;最后打印a,所以此程序的作用是输出a,b,c中最大的数.
[点评]
(1)将程序中ab,a>c,则结果是输出a,b,c中的最小值.
(2)若要将a,b,c三数按从大到小顺序输出,则程序应改为:
INPUT “a,b,c=”;a,b,c
IF b>a THEN
t=a
a=b
b=t
ENDIF
IF c>a THEN
t=a
a=c
c=t
ENDIF
IF c>b THEN
t=b
b=c
c=t
ENDIF
PRINT a,b,c
END
(3)自己想一下,若要将从键盘输入的任意三个数按从小到大顺序输出,则应将上述语句怎样修改?
6.若运行如下程序,最后输出y的值为-20,那么输入的t值为( )
[答案] A
[解析] 当t<5时,由2t-8=-20得t=-6;当t≥5时,由8t-t2=-20,得t=10.
7.运行下列程序,当输入数值-2时,输出结果是( )
[答案] D
[解析] 该算法是求分段函数
y=
,当x=-2时的函数值,
∴y=-16.
8.下列程序语句是求函数y=|x-4|+1的函数值,则①处为( )
A.y=3-xB.y=x-5
C.y=5-xD.y=ABS(x-4)+1
[答案] C
[解析] ∵y=|x-4|+1=
,故选C.
二、填空题
11.给出程序:
[答案]
10.写出下列程序的运行结果
(1)INPUT“a=”;a
IFa<0THEN
PRINT“nosolution”
ELSE
T=SQR(a)
PRINTt
ENDIF
END
输入a=-4,输出结果为________;
输入a=9,输出结果为________.
(2)INPUT“x=”;x
IFx<=10THEN
P=x*0.35
ELSE
P=10*0.35+(x-10)*0.7
ENDIF
PRINTp
END
输入x=6,则p=______;输入x=20,则p=______.
(3)INPUT “x=”;x
x=x+99
IF x>100 THEN
PRINT x
x=xMOD5
ELSE x=SQR(x)
ENDIF
PRINT x
END
输入x=100时,输出结果为________;
输入x=-18时,输出结果为________.
[答案]
(1)nosolution3
(2)2.1;10.5
(3)199,4;9.
[解析]
(1)a=9不满足a<0,故执行t=SQRT(a),∴t=3.
(2)x=6满足x≤10,∴P=6×0.35=2.1;
x=20时不满足x≤10.
∴P=10×0.35+(20-10)×0.7=10.5.
(3)x=100时,x=100+99=199>100,∴先输出199,然后计算199MOD5=4,输出4;
x=-18时,x=-18+99=81>100不成立,∴执行ELSE后边的x=SQR(x),即x=
=9,输出9.
11.将下列程序补充完整.
判断输入的数x是否为正数,若是,输出它的平方,若不是,输出它的相反数,则②为________.
INPUT“x=”;x
IF②THEN
y=-x
ELSE
y=x^2
ENDIF
PRINTy
END
[答案] x<=0
三、解答题
12.汽车托运重量为P(kg)的货物时,托运每千米的费用(单位:
元)标准为:
试编写一程序求行李托运费.
[解析] 此题就是一个分段函数求值问题.输入托运重量P,如果P≤20,那么y=0.2P,否则y=0.2×20+0.11(P-20),最后输出费用y.
程序为:
INPUT “输入托运货物重量”;P
IFp<=20THEN
y=0.2*p
ELSE
y=0.2*20+0.11*(p-20)
ENDIF
PRINTy
END
13.编写求一个数是偶数还是奇数的程序,从键盘上输入一个数,输出该数的奇偶性.
[解析] INPUT “输入整数a=”;a
IF aMOD2=0 THEN
PRINT “该数是偶数”
ELSE
PRINT “该数是奇数”
ENDIF
END.