2.3.1条件语句
教案
【课程标准】经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想
【教学目标】1.理解、掌握条件语句;
2.能运用条件语句表达解决具体问题的过程;
3.培养学生逻辑思维能力与表达能力,进一步体会算法思想.
【教学重点】条件语句的表示方法、结构和用法
【教学难点】将具体问题的程序框图转化为程序语句的过程,条件语句的逻辑关系
【教学过程】
一、回顾知识
1.
什么是条件结构?画出其程序框图.
2.练习:写出解不等式的一个算法,并画出程序框图.
二、条件语句
1.
把回顾练习中的程序框图转化为程序语句.
INPUT
“a=”;
a
INPUT
“b=”;b
IF
a>0
THEN
PRINT
“不等式的解为:”;a/b
ELSE
PRINT
“不等式的解为:”;a/b
END
IF
END
2.
条件语句的一般格式
(1)IF—THEN—LESE形式
IF
条件
THEN
语句1
ELSE
语句2
END
IF
说明:①当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,否则执行ELSE后的语句.②书写时一个条件语句中的IF与END
IF要对齐.
(2)IF—THEN形式
IF
条件
THEN
语句
END
IF
说明:当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,否则直接结束该条件语句.
三、知识应用
师
生
互动
例1
编写一个程序,求实数的绝对值程序:
解:
思考:阅读下面的程序,你能得出什么结论?
例2.写出求方程ax2+bx+c=0的根的程序.
解:
例3.编写程序,使任意输入的3个整数按从大到小的顺序输出.
解:
四、课堂练习
课堂练习
1、
当时,下面的程序段输出的结果是(
D
)
IF
THEN
ELSE
PRINT
y
A
B
C
D
2
给出以下四个问题,
①输入,
输出它的相反数
②求面积为的正方形的周长
③求三个数中输入一个数的最大数
④求函数的函数值
其中不需要用条件语句来描述其算法的有
(
B
)
A
个
B
个
C
个
D
个
3
右面程序运行后输出的结果为
22,
-22
4写出已知函数
输入的值,求y的值程序.
解:略
5.
,写出求函数的函数值的程序
解:INPUT
“x=”;x
IF
x>=0
and
x<=4
THEN
y=2x
END
IF
IF
4=ANDx<=8
THE
N
y=8
END
IF
IF
8=ANDx<=12
THE
N
y=2
(12-x)
END
IF
PRINT
y
END
6.
儿童乘坐火车时,若身高不超过1.1
m,则不需买票;若身高超过1.1
m但不超过1.4
m,则需买半票;若身高超过1.4
m,则需买全票.试设计一个买票的算法,并画出相应的程序框图及程序。
解:是否买票,买何种票,都是以身高作为条件解:INPUT
“x=”;
x
IF
x>=0
and
x<=4
THEN
y=2x
END
IF
IF
4=ANDx<=8
THE
N
y=8
END
IF
IF
8=ANDx<=12
THE
N
y=2
(12-x)
END
IF
PRINT
y
END
是否买票,买何种票,都是以身高作为条件进行判断的,此处形成条件结构嵌套.
程序框图是:
EMBED
CorelDraw.Graphic.8
程序是:
INPUT
“请输入身高h(米):”;h
IF
h<=1.1
THEN
PRINT
“免票”
ELSE
IF
h<=1.4
THEN
PRINT
“买半票”
ELSE
PRINT
“买全票”
END
IF
END
IF
END
五、课堂小结
1.理解条件语句的两种表达形式以及何时用格式1、何时用格式2.
2.注意多个条件的语句表达方法:如(a+b>c)
AND
(b+c>a)
AND
(a+c>b).
3.条件语句的嵌套,注意END
IF是和最接近的匹配,要一层套一层,不能交叉.
3.编写一个程序的步骤:首先用自然语言描述问题的一个算法,然后把自然语言转化为程序框图,最后把程序框图转化为程序语句.
语句1
满足条件?
是
否
语句2
语句
满足条件?
是
否
INPUT
x
IF
x>=0
THEN
PRINT
x
ELSE
PRINT
-x
END
IF
END
INPUT
x
IF
x<0
THEN
x=-x
END
IF
PRINT
x
END
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
PRINT
“x1=
x2=”;
p
ELSE
PRINT
“x1,x2=”;
p+q,p-q
END
IF
ELSE
PRINT
“No
real
root!”
END
IF
END
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
IF
THEN
ELSE
END
IF
PRINT
x-y
;
y-x
END
第3题