1_2_2 条件语句学案(人教A版必修三)(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.2 条件语句
【明目标、知重点】
1.理解条件语句及其与条件结构的关系.
2.体验如何由程序框图转化为程序语句.
3.通过条件语句的学习,进一步体会算法的基本思想.
【填要点、记疑点】
条件语句的格式、功能及与条件结构的对应关系.
格式二
条件语句IF条件THEN语句体END IF
IF条件THEN
语句体1 ELSE
语句体2 END IF
功能首先对IF后的条件实行判断,假如
(IF)条件符合,那么(THEN)执行语
句体,否则执行END IF之后的语句
首先对IF后的条件实行判断,假如
(IF)条件符合,那么(THEN)执行语
句体1,否则(ELSE)执行语句体2
对应条件结构框
图
[情境导学] 上节课我们学习的输入、输出和赋值语句,这些语句能够完成对算法的顺序结构的编程,对于算法的条件结构的编程,我们必须学习与之相适合的算法语句——条件语句.
探究点一条件语句(1)
思考1 对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,使用输入、输出和赋值语句还行吗?需要用怎样的语句?
答不行,要用与条件结构相适合的条件语句.
思考2 阅读教材25页内容,想一想以下图所示的条件结构对应的条件语句的一般格式是怎样的?计算机是如何执行该条件语句的?
答IF条件THEN
语句体
END IF
当计算机执行上述语句时,首先对IF后的条件实行判断,假如(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.
思考3 求实数x的绝对值有如下一个算法:
第一步,输入一个实数x.
第二步,判断x的符号.若x<0,则x=-x;否则,x=x.
第三步,输出x.
(1)该算法的程序框图如何表示?
(2)你能写出这个算法对应的程序吗?
答(1)程序框图如下.
(2)程序如下:
INPUT x
IF x<0 THEN
x=-x
END IF
PRINT x
END
例1阅读下面的程序,说明它是一个什么问题的算法,其中a≠b.
INPUT “a,b=”;a,b
IF a>b THEN
x=a
a=b
b=x
END IF
PRINT a,b
END
解由程序可知,当a>b时,程序执行语句体,语句体实现了a,b互换,此时a<b;当
a>b不成立时,即a<b时,语句体直接执行END IF之后的语句.所以本程序是对实数
a,b按从小到大排序.
反思与感悟条件语句的作用是在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计算机按条件实行分析、比较、判断,并按判断后的不同情况实行不同的处理.
跟踪训练1 编写程序,使得任意输入的3个整数按从大到小的顺序输出.
解程序如下:
INPUT “a,b,c=”;a,b,c
IF b>a THEN
t=a
a=b
b=t
END IF
IF c>a THEN
t=a
a=c
c=t
END IF
IF c>b THEN
t=b
b=c
c=t
END IF
PRINT a,b,c
END
探究点二条件语句(2)
思考1 (1)阅读教材25页内容,想一想以下图所示的条件结构对应的条件语句的一般格式是怎样的?计算机又是如何执行该条件语句的?
答
If 条件THEN
语句体1
ELSE
语句体2
END IF
当计算机执行上述语句时,首先对IF后的条件实行判断,假如(IF)条件符合,那么(THEN)
执行语句体1,否则(ELSE)执行语句体2.
思考2 (1)求实数x的绝对值又有如下一个算法:
第一步,输入一个实数x.
第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.
该算法的程序框图如何表示?由得到的程序框图你能写出算法语句吗?
答
(2)由程序框图你能写出算法语句吗?
答
INPUT“x=”;x
IF x>=0 THEN
PRINT x
ELSE
PRINT-x
END IF
END
例2 编写程序,输入一元二次方程ax2+bx+c=0(a≠0)的系数,输出它的实数根.解
INPUT a,b,c d=b*b-4*a*c IF d>=0 THEN
p=-b/(2*a)
q=SQR(d)/(2*a) IF d=0 THEN
PRINT “x1,x2=”;p-q,p+q
END IF
ELSE
PRINT “No real root!” END IF
END
反思与感悟 (1)条件语句有两种形式,应用时要根据实际问题适当选择.
(2)编写含有多个条件结构的程序时,每个条件语句执行结束时都以END IF 表示. 跟踪训练2 铁路部门托运行李的收费方法如下:y 是收费额(单位:元),x 是行李重量(单位:
kg),当0<x ≤20时,按0.35元/kg 收费,当x >20时,20 kg 的部分按0.35元/kg ,超出20 kg 的部分,则按0.65元/kg 收费,请根据上述收费方法编写程序. 解 算法分析:首先由题意得:
y =⎩
⎪⎨⎪⎧
0.35x , 0<x ≤20,0.35×20+0.65(x -20), x >20.该函数是个分段函数.需要对行李重量作出判断,所以,这个过程能够用算法中的条件结构来实现. 程序:
INPUT “请输入旅客行李的重量(kg)x =”;x IF x>0 AND x<=20 THEN y=0.35*x ELSE
y=0.35*20+0.65*(x-20) END IF
PRINT “该旅客行李托运费为”;y
END
例3 编写程序,使得任意输入3个整数按从大到小的顺序输出.
解 算法
第一步 输入3个整数a 、b 、c .
第二步 将a 与b 比较,并把小者赋给b ,大者赋给a .