(共26张PPT)
1.2.2
条件语句
输入:x
If
x>0
then
Y=1
Else
Y=0
End
if
输出
y
1.2
基本算法语句
一、温故知新
输入语句、输出语句和赋值语句的一般格式分别是什么?
输入语句:INPUT
“提示内容”;变量
输出语句:PRINT
“提示内容”;表达式
赋值语句:变量=表达式
为体现“加快文明社会的发展,加强对老年人的关爱”,景区规定对年龄超过70岁(含70岁)的游客可以免费提供“旅游拐杖”一根,其它游客购买“旅游拐杖”则需
2元/根。请设计游客购买“旅游拐杖”费用的算法,画出程序框图。
分析:第一步
输入年龄x
第二步
判断x与70的大小,若x≥70,那么
y=0;否则y=2.
第三步
输出y
二、课题引入
开
始
x≥70?
是
否
输入
x
结束
y=0
y=2
输出
y
INPUT
x
IF
x
>=70
THEN
y=0
ELSE
y=2
End
IF
PRINT
y
END
对于顺序结构的算法或程序框图,我们可以利用输入语句、输出语句和赋值语句写出其计算机程序.对于条件结构的算法或程序框图,要转化为计算机能够理解的算法语言,我们必须进一步学习条件语句.
条件结构有哪两种形式?
思考1:下图是算法的条件结构用程序框图表示的一种形式,它对应的条件语句的一般格式设定为:
满足条件?
步骤1
步骤2
是
否
IF
条件
THEN
语句体1
ELSE
语句体2
END
IF
你能理解这个算法语句的含义吗?
三、知识探究:条件语句(1)
满足条件?
步骤1
步骤2
是
否
IF
条件
THEN
语句体1
ELSE
语句体2
END
IF
当计算机执行上述语句时,首先对IF
后的条件进行判断,如果(IF)条件
符合,那么(THEN)执行语句体1,
否则(ELSE)执行语句体2.
条件语句(2)
IF
条件
THEN
语句体
END
IF
思考2:下图是算法的条件结构用程序框图表示的另一种形式,它对应的条件语句的一般格式设定为:
满足条件?
步骤A
是
否
你能理解这个算法语句的含义吗?
IF
条件
THEN
语句体
END
IF
满足条件?
步骤A
是
否
当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END
IF之后的语句.
例1:求实数x的绝对值有如下一个算法:
第一步,输入一个实数x.
第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.
该算法的程序框图如何表示?
思考3:你能写出这个算法对应的程序吗?
x≥0?
开始
结束
输入x
是
输出x
否
输出-x
END
INPUT
“x=”;x
IF
x>=0
THEN
PRINT
x
ELSE
PRINT
-x
END
IF
思考4:
阅读这个程序,它的功能是什么?
x<0?
开始
结束
输入x
是
x=-x
输出x
否
END
INPUT
x
IF
x<0
THEN
x=-x
END
IF
PRINT
x
例2
编写程序,使任意输入的3个整数按从大到小的顺序输出.
第四步,将b与c比较,并把小者赋给c,大者
赋给b.
第一步,输入3个整数a,b,c.
第二步,将a与b比较,并把小者赋给b,大者
赋给a.
第三步,将a与c比较,并把小者赋给c,大者
赋给a.
第五步,按顺序输出a,b,c.
算法分析:
开始
输入a,b,c
b>a?
t=a
a=b
b=t
t=a
a=c
c=t
t=b
b=c
c=t
是
是
是
输出a,b,c
否
c>b?
否
c>a?
否
结束
INPUT
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
例3
将下列程序框图转化为程序?
开始
输入x
X<0?
x=0?
y=x+1
输出y
结束
y
=x
是
否
否
是
y
=0
INPUT
“x=”;
x
IF
x<0
THEN
y=x+1
ELSE
IF
x=0
THEN
y=0
ELSE
y=x
END
IF
END
IF
PRINT
“y=”;
y
END
一般在含有两个或两个以上的条件结构中,编写程序时,可利用条件语句的叠加形式:
条件语句(3)---复合条件语句
If
条件1
Then
语句1
End
If
If
条件2
Then
语句2
End
If
......
If
条件n
Then
语句n
End
If
1、叠加IF语句
条件1
条件2
语句3
语句2
语句1
假
真
真
假
If
条件1
Then
语句1
Else
If
条件2
Then
语句2
Else
语句3
End
If
End
If
2、嵌套IF语句
注:
1)If语句可以多层嵌套,可以用文字的缩进表示嵌套的层次
2)
在复合If语句中,要注意If与End
If的配对
课堂小结:
2.编写含有多个条件结构的程序时,每个条件语句执行结束时都以END
IF表示.
1.条件语句有两种形式,应用时要根据实际问题适当选取.
1.
判断下列说法?
(1)条件语句中必须有ELSE和END
IF
(2)条件语句中可以没有END
IF
(3)条件语句中可以没有ELSE
,但必须有END
IF
随堂演练
2.阅读下面的程序,你能说明它的算法功能吗?
INPUT
“a,b=”;a,b
IF
a>b
THEN
x=a
a=b
b=x
END
IF
PRINT
a,b
END
对实数a,b按从小到大排序.
3.
到银行办理个人异地汇款时,银行要收取一定的手续费,汇款额不超过100元时,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取,超过5000元,一律收取50元手续费。设计算法,要求输入汇款额
x
元(x>0),输出手续费y(元),画出算法流程图,并用
If
语句描述该算法。
分析:1、输入
x
2、对x进行判断:
(1)若x≤100,
则
y=1
(2)若100则
y=0.01x
(3)若x>5000,
则
y=50
3、输出y
.
INPUT
x
IF
x≤100
THEN
y
=1
IF
x≤5000
THEN
y
=0.01x
ELSE
y
=50
PRINT
y
END
开始
输入x
输出y
结束
y
=1
y
=50
是
否
否
是
y
=0.01x
ELSE
END
IF
END
IF
流程图:
If语句:
x≤100
x≤5000
4.
以下问题是否需要用条件语句来描述其算法
A
输入一个数x,输出它的绝对值;
B
求分段函数的函数值;
C
求面积为6的正方形的周长;
D
求三个数中较大的数
5.
写出下程序运行的结果
INPUT
x
If
x<0
Then
p=3x
Else
p=3+7(x-10)
End
if
PRINT
p
END
若x=
-2
,
则输出
_______
;
若x=
15
,
则输出
_______