《基本算法语句-条件语句》文字素材6(人教A版必修3)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.2条件语句
算法中的条件结构由条件语句来表达。
一、基本条件语句
(1)两个分支的条件结构
例21. 给计算机编写一个程序,输入一个自变量x的值,输出分段函数22,0(),0xxfxxx的函数值.
解: 程序框图 QuickBASIC程序语句
QuickBASIC语言中的符号。
数学运算 等于 不等于 大于 小于 大于等于 小于等于
程序符号 = <> > < >= <=
[探究] 比较程序框图和QuickBASIC程序语句,回答下列问题。
(1)条件结构和那一段语句对应?条件语句以什么开始,以什么开始
输入x
2yx0x成立输出y
结束 2yxYesNoINPUT “x=”;
IF x>=0 THEN
y = x + 2
ELSE
y = x^2
END IF
PRINT “y =” ; y
END 结尾?
__________________________________________________________________________________________________________________________________
(2)判断框中的“条件”在条件语句中处于什么位置?
__________________________________________________________________________________________________________________________________
(3)“Yes”分支中的步骤在条件语句中处于什么位置?
__________________________________________________________________________________________________________________________________
(4)“No”分支中的步骤在条件语句中处于什么位置?
__________________________________________________________________________________________________________________________________
(5)当x=5的时候,计算机会执行哪些语句?
__________________________________________________________________________________________________________________________________
(6)当x=-5的时候,计算机会执行哪些语句?
__________________________________________________________________________________________________________________________________
条件语句的一般形式
条件结构框图 条件语句
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件成立,就执行THEN之后的语句体,否则执行ELSE之后的语句体。
(2)一个分支的条件结构
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件成立,就执行THEN之后的语句体,否则条件语句结束,执行END
IF之后的语句 二、条件结构的嵌套 步骤2 步骤1 YesNo满足条件?步骤 YesNo满足条件?IF 条件 THEN
语句
ENF IF IF 条件 THEN
语句体1
ELSE
语句体2
ENF IF 例22.函数1(0)0(0)1(0)xyxx,编写一个程序,输入x的值,输出y的值
解:用程序框图表示为
用QuickBASIC 语言可写为
INPUT
“x =” ; x
IF x>0 THEN
y = 1
ELSE
IF x=0 THEN
y = 0
ELSE
y = -1 开始
输入x
2yx0x?输出y 1yYesNo1y0x?0yYesNo外层选择结构
内层选择结构
外层IF语句 内层IF语句 END IF
END IF
PRINT “ y=”; y
END
该程序中有两个IF语句,大IF语句中嵌套了一个小IF语句。
[思考] 请将程序框图和相应的语句对应起来。
_________________________________________________________________________________________________________________________________
例23 编写一个程序,求一元二次方程20axbxc的根.
分析:24bac,
当0时方程有两个不相等的实根12,22bbxxaa;
当0时,方程有两个相等的实根122bxxa;
当0时,方程没有实根。
解:程序框图为
由程序框图写出QuickBASIC 程序
INPUT a,b,c
D=b^2-4*a*c
IF D>=0 THEN
IF D>0 THEN
x1=(-b+sqr(D))/2*a
x1=(-b-sqr(D))/2*a
PRINT “x1=”;x1,”x2=”;x2 1222bxabxa开始
输入2yx0成立?结束 YesNo0成立?YesNo24bac输出:没有实2bxa输出x 12,xx输出输出:没有实根 ELSE
x=-b/2*a
PRINT “x=”;x
END IF
ELSE
PRINT “No root.”
END IF
END
[思考]比较程序框图和程序语句,回答下列问题。
(1)在程序框图中找出外层条件结构和内层条件结构。
__________________________________________________________________________________________________________________________________
(2)在程序语句中找出外层条件语句和内层条件语句。
__________________________________________________________________________________________________________________________________
(3)找出程序框图和程序语句的对应关系。
__________________________________________________________________________________________________________________________________
(4)试给a,b,c取不同的值,使程序沿着三条不同的路线由开始走到结束。
__________________________________________________________________________________________________________________________________
例24. 排序
编写一个程序,使得任意输入的3个整数按从大到小的顺序输出。
算法分析:
我们用a,b,c表示输入的三个整数,比较三个整数,把最大的整数存入变量a中,次大的整数存入b中,最小的整数存入c中。
Step1:输入三个整数a,b,c;
Step2:将a与b比较,如果a
Step3:将a与c比较,如果a (第2步和第3步后,a中存储的已经是最大的整数) Step4:将b与c比较,如果b (第4步后,b中存储的是次大的整数,c中存储的是最小的整数) Step5:按顺序输出a,b,c。 注意:交换两个变量的值要用例20的“空桶法”。 解:程序框图为 根据程序框图,写出计算机程序为: 开始 输入a,b,c 输出a,b,c 结束 YesNo?bataabbtYesNo?cataacctYesNo?cbtbbccta b t 4 6 5 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 第5行 第10行 第15行 PRINT a,b,c END [探究] (1)假设输入的数据是4,6,5,在右面填入相应的数字。 (2) 程序运行到第5行可以达到的目的是: __________________________________________________________________________________________________________________________________ (3) 程序运行到第10行可以达到的目的是: __________________________________________________________________________________________________________________________________ (4) 程序运行到第15行可以达到的目的是: __________________________________________________________________________________________________________________________________ [练习] 1.读程序,说出该程序的功能。 INPUT “Please input an inter:”;x IF 9