条件语句--基本算法语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20 If x<0 Then x ←-xS2 如果x<0 ,x ←-
30 Print x
xS;3 输出x.
结束
下列流程图,实现的一个“符号”函数的求值,试用自
然语言和伪代码描述算法. 自然语言:
开始
S1 输入x;
输入x
S2 如果x>0 ,y ←1,转S4; S3 如果x=0 ,y ←0,
Y x>0 N
开始
输入a,b,c
是
b>a?
是
否
c>a?
t=a
否
a=c
c=t
是
c>b?
否
输出a,b,c
交换a,b的值
t=a a=b b=t
t=c c=b b=t
【程序】
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
条件语句一般用在需要对条件进行判断的算 法设计中,如判断一个数的正负,确定两个数的 大小等问题,还有求分段函数的函数值等,往往 要用条件语句,有时甚至要用到条件语句的嵌套。
【课堂练习】
1.课本P29页T2.读程序,说明程序的运行过程.
INPUT “x=:”;x
如果有两个或是两个以上的
IF 9<x AND x<100 THEN 并列条件时,用“AND”把它
1.2 基本算法语句
算法中的条件结构是由条件语句来表达的, 条件语句是处理条件分支逻辑结构的算法语句 .
条件语句的一般格式 只含一个“分支”的条件结构 写成条件语句为
满足条件?
否
是 语句
IF 条件 THEN 语句体
END IF
当计算机执行这种形式的条件语句时,首先对 IF后的条件进行判断,如果条件符合,就执行 THEБайду номын сангаас后的语句体,否则执行END IF之后的语句.
参考答案:
INPUT “a,b,c=”; a,b,c IF a+b>c AND a+c>b AND b+c>a THEN
PRINT “Yes.” ELSE
PRINT “No.” END IF END
设计一个算法,实现求绝对值的功能.
开始
自然语言-算法1:
S1 输入x;
S2 如果x<0 ,y ←-x,
x=-x 输出x
结束
问题情境
某居民区的物业管理部门每月按以下方法 收取卫生费:3人和3人以下的住户,每户收取 5元;超过3人的住户,每超出1人加收1.2元。
试设计算法,根据输入的人数计算应收取 的卫生费?
若用c(单位:元)表示应收取的费用,
t表示住户的人口数,则 具体算法步骤如下:
c
5, 5 1.2(t 3),
含两个“分支”的条件结构 写成条件语句为
满足条件? 否 是
语句1
语句2
IF 条件 THEN 语句体1
ELSE 语句体2
END IF
当计算机执行上述语句时,首先对IF后的 条件进行判断,如果条件符合,就执行THEN后 的语句体1,否则执行ELSE后的语句体2.
你能写出这个算法对应的程序吗?
开始
INPUT x
IF x>=0 THEN
输入x
PRINT x
x≥0? 是
输出x
结束
否 输出-x
ELSE PRINT -x
END IF END
阅读下面的程序,你能说出程序的运行 过程并画出对应的程序框图吗?
INPUT x IF x<0 THEN
x=-x END IF
PRINT x END
开始 输入x
x<0? 否 是
否则 y ← x; S3 输出y.
Read x
If x < 3 Then
输入x
y ← -x
Y x<0 N
Else y←x
y←-x
y←x
开始 输入x Y x<0
x←-x N
输出x
End if Print y
条件语句伪代码格式2:
If A Then B
输出y 结束
自然语言-算法2:
10 Read x
S1 输入x;
Else If C Then D Else E End If
End If
3.课本P29页T3.编写求一个数是偶数还是奇数的 程序,从键盘输入一个整数,输出该数的奇偶性.
参考答案:
INPUT “a=”; a IF a MOD 2 =0 THEN
PRINT “Even.” ELSE
PRINT “Odd.” END IF END
结束
1
2
开始
【程序】
输入a,b,c
△=b2-4ac
否 △≥0? 是
p b 2a
q
2a
原方程无实根
△=0? 否
是 输出p
x1=p+q x2=p-q
输出x1,x2
结束
INPUT “ a,b,c =”;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
【例题解析】
〖例1〗:编写程序,输入一元二次方程ax2+bx+c=0的系 数,输出它的实数根。
算法分析: 一元二次方程的根有三种不同情况:
设判别式△=b2-4ac
(1)当△>0时,一元二次方程有两个不等的实数根.
xx11
bb 2a2a
,
2a
,xx2 2b2ba
2a
第一步:输入3个整数a,b,c. 第二步:将a与b比较,并把小者赋给b,大者 赋给a. 第三步:将a与c比较. 并把小者赋给c,大者 赋给a,此时a已是三者中最大的。 第四步:将b与c比较,并把小者赋给c,大者 赋给b,此时a,b,c已按从大到小的顺序排列好。 第五步:按顺序输出a,b,c.
【程序框图】
0t t 3
3
S1 输入t;
输入t
S2 若t≤3,则c←5,
Y
否则c←5+1.2(t-3);
S3 输出c.
c←5
t≤3 N c←5+1.2(t-3)
输出 c
条件语句的作用
在程序执行过程中,根据判断 是否满足约定的条件而决定是否需 要转换到何处去。需要计算机按条 件进行分析、比较、判断,并按判 断后的不同情况进行不同的处理。
INPUT “x=”;x IF x<1 THEN
y=x ELSE
IF x>=1 AND x<10 THEN y=2*x-1
ELSE y=3*x-11
END IF END IF PRINT“y=”;y END
们连接起来。
a=x\10
“\”用来取商.此处表示
b=x MOD 10
x除以10的商.
x=10*b+a
“MOD”用来取余数.此处表示 x除以10所得余数为b.
PRINT x
[问题]如输入的数x=86,则输出
END IF
的结果是什么? 68
END
此程序用于交换一个两位数的 个位和十位数字.
2.课本P29页T1.
(2)若输入2,则输出结果是 __4__ ;
(3)若输入3,则输出结果是 ____ ;
INPUT x IF x<3 THEN
y=2*x ELSE
IF x>3 THEN y=x*x-1
ELSE y=0
END IF END IF PRINT y END
课时小结:
本节课主要学习了条件语句的结构、特点、 作用及用法,并懂得利用解决一些简单问题。 条件语句使程序执行产生分支,根据不同的条 件执行不同的路线,使复杂问题简单化。
(2)当△=0时,一元二次方程有两个相等的实数根.
x1
x2
b 2a
p b 2a
(3)当△<0时,一元二次方程没有实数根.
q
2a
开始
【程序框图】
1
2
输入a,b,c △=b2-4ac
是
△=0?
否
否
△≥0?
是 p b
2a
输出p
x1=p+q x2=p-q
输出x1,x2
q
2a
原方程无实根
y←1
Y x=0 N
否则 y ← 1;
S4 输出y.
y←0
y←-1
输出y 结束
伪代码:
Read x If x>0 Then
y ←1 Else
If x=0 Then y←0
Else
y←-1
End if End if
Print y
If A Then B
Else C
End If
If A Then B
If A Then B
INPUT “x= ”; x
_IF__X_>_=_0__T_H__E_N_
PRINT “|x|= ”; x
ELSE
PRINT “|x|= ”; -x
_E_N_D__I_F_______
END
巩固练习
右边给出的是用条件语 句编写的一个程序,根 据该程序回答:
(1)若输入5,则输出结果y {是 ___2_4 ;
IF c>b THEN
t=b
b=c
c=t END IF PRINT a,b,c END
巩固练习
1. INPUT “x= ”; x
IF x>3 THEN y=x * x ELSE y=2 * x END IF PRINT “y=”; y END
若输入4,输出结果是_1_6
2. 补充完整下面用来求 任意一个实数x的绝对 值的程序
4.编写一个程序,输入两个整数a,b,判断a是否能 被b整除.
参考答案:
INPUT “a,b=”; a,b IF a MOD b =0 THEN
PRINT “b divides a.” ELSE
PRINT “b does not divide a.” END IF END
作业
P33 B T3
5.(P33页B组T3) 参考答案:
PRINT “One real root:”;p
ELSE
x1=p+q
x2=p-q PRINT “Two real roots:”;x1,x2
END IF ELSE
PRINT “No real root!”
END IF END
〖例2〗:编写程序,使得任意输入的3个整 数按从大到小的顺序输出。
算法分析:用a,b,c表示输入的3个整数;为 了节约变量,把它们重新排列后,仍用a,b,c表 示,并使a≥b≥c.具体操作步骤如下。