北师大版高中数学(必修3)2.4《几种基本语句》(条件语句)ppt课件

文档属性

名称 北师大版高中数学(必修3)2.4《几种基本语句》(条件语句)ppt课件
格式 zip
文件大小 399.4KB
资源类型 教案
版本资源 北师大版
科目 数学
更新时间 2012-04-01 11:05:03

图片预览

文档简介

(共25张PPT)
条件语句
算法初步
复习巩固
1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么?
顺序结构
输入语句
输出语句
赋值语句
INPUT “提示内容”;变量
PRINT “提示内容”;表达式
变量=表达式
语句 一般格式 主要功能 说明
输入语句
输出语句
赋值语句
INPUT “提示内容”;变量
PRINT “提示内容”;表达式
变量=表达式
可对程序中
的变量赋值
可输出表达式的值,计算
可对程序中的变量赋值,计算
(1)提示内容和它后面 的“;”可以省略
(2)一个语句可以给多个变
量赋值,中间用“,”分隔
(3)无计算功能
(1)表达式可以是变量,
计算公式,或系统信息
(2)一个语句可以输入多个表达式,中间用“,”分隔
(3)有计算功能
(1)“=”的右侧必须是表达式,左侧必须是变量
(2)一个语句只能给一个变量赋
(3)有计算功能
IF 条件 THEN
语句体1
ELSE
语句体2
END IF
IF 条件 THEN
语句体
END IF
满足条件?
语句体


满足条件?
语句体1
语句体2


2、条件结构常用的程序语言和格式
(单分支条件结构)
(双分支条件结构)
例5:编写一程序,求实数X的绝对值。
X (X≧0)
算法分析:因为实数X的绝对值|X|= -X (X﹤0)
算法步骤:
S1:输入一个实数X
S2:判断X的符号,若X≧0,则输出X;否则输出-X
程序框图:
开始
输入X
X≧0
输出X
输出-X
结束
Y
N
程序:
INPUT X
IF X>=0 THEN
PRINT X
ELSE
PRINT -X
END IF
END
2、把下列语句的意义翻译成程序框图
(2)IF x>0 THEN
y=1
ELSE
y=0
END IF
(1)IF x<0 THEN
x=ABS(x) END IF PRINT “x的绝对值为:”;x
开始
X=abs(x)
结束
开始
y=1
y=0
结束
Y
N
Y
N
输出x
X<0
X>0
例6 编写程序,输入一元二次方程 的系数,输出它的实数根。
自然语言描述:
第一步:输入a,b,c
第二步:计算判别式m
第四步:判断m=0是否成立。若是,则输出x1=x2=p;否则x1=p+q
X2=p-q,并输出x1,x2.
第三步:判断m≧0是否成立
若是,则计算p= ,q=
否则输出“方程无实数根”,结束算法。
开始
输入a,b,c
m=b2-4ac
m≧0
p=-b/(2a)
q=
m=0
X1=p+q
X2=p-q
方程无实根
输出x1,x2
输出p
结束
Y
N
N
Y
程序:
INPUT “A,B,C=”;a,b,c
m=b^2-4*a*c
IF m>=0 then
p=-b/(2a)
q=SQR(m)/(2*a)
IF m=0 THEN
PRINT “X1=X2=“;p
ELSE
PRINT “x1,x2=“;p+q,p-q
END IF
ELSE
PRINT “方程无实根“
END IF
END
开始
输入a,b,c
m=b2-4ac
m≧0
p=-b/(2a)
q=
m=0
X1=p+q
X2=p-q
方程无实根
输出x1,x2
输出p
结束
Y
N
N
Y
QBASIC程序:
INPUT “a,b,c=:”;a,b,c
d = b * b – 4 * a * c
p = – b / (2 * a)
q = SQR(ABS(d)) / (2 * a)
IF d >= 0 THEN
x1 = p + q
x2 = p – q
IF x1 = x2 THEN
PRINT “方程只有一解”;x1
ELSE
PRINT “xl,x2=”; x1, x2
END IF
ELSE
PRINT “无实根”
END IF
END
开 始
输入a,b,c
Δ=b2-4ac
p= -b/2a
q=SQR(ABS (Δ))/(2a)
x1=p+q
x2=p-q
Δ≥0
x1=x2
原方程有两个不等
的实数根x1,x2
原方程有两个相等
的实数根x1,x2
原方程无实数根
结 束




程序框图:
另解:
例7 编写程序,使得任意输入3个整数按大到小的顺序输出。
算法分析:
算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。
第一步 输入3个整数a、b、c
第二步 将a与b比较,并把小者赋给b,大的赋给a;
第三步 将a与c比较,并把小者赋给c,大的赋给a
第四步 将b与c比较,并把小者赋给c,大的赋给b
第五步 按顺序输出a,b,c
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
相应的QBASIC程序:
开始
t=a,a=b,b=t
t=a,a=c,c=t
t=b,b=c,c=t
输入a,b,c
输入a,b,c
b>a
c>a
c>b
结束






对应的流程图:
小结
1、条件结构的程序表示
2、注意书写的规范性
IF 条件 THEN
语句1
ELSE
语句2
END IF
IF 条件 THEN
语句
END IF
满足条件?
语句
满足条件?
语句1
语句2


Y
N
练习
开始
输入a,b,c
a+b>c,a+c > b,
b+c > a是否同时成立?
存在这样的
三角形
不存在这样
的三角形
结束


(1)
该程序框图所表示的算法是作用是什么?并根据程序框图写出相应的程序。
程序:
INPUT a,b,c
IF a+b>c and a+c>b and b+c>a THEN
PRINT “存在这样的三角形”
ELSE
PRINT “不存在这样的三角形”
ENDIF
END
(2).读程序,说明程序的运行过程:
INPUT “Please input an integer:” ; x
IF 9A=x\10
b=x MOD 10
x=10*b+a
PRINT x
END IF
END
本程序的运行过程为:输入整数X,若X是满足9(3).编写一个程序,判断任意输入的整数的奇偶性
开始
输入一整数a
M=0
M=a MOD 2
输出a为偶数
输出a为奇数
结束
Y
N
程序:
INPUT “a=“ ; a
M= a MOD 2
IF M=0 THEN
PRINT “a为偶数”
ELSE
PRINT “a为奇数”
END IF
END
(4).闰年是指能被4整除但不能被100整除,或者能被400整除的年份,编写一个程序,判断输入的年份是否为闰年
开始
输入年份y
A=y MOD 4
B=y MOD 100
C=y MOD 400
A=0且B≠0
C=0
是闰年
是闰年
结束
不是闰年
INPUT “请输入年份”
A=y MOD 4
B=y MOD 100
C=y MOD 400
IF A=0 AND B<>0 THEN
PRINT “是闰年”
ELSE
IF C=0 THEN
PRINT “是闰年”
ELSE
PRINT “不是闰年”
END IF
END IF
END
程序:
N
Y
Y
N
练习
2、 铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李质量不超过50kg时,按0.25/kg元计算;超过50kg而不超过100kg时,其超过部分按0.3元/kg计算,超过100kg时,其超过部分按0.45元/kg计算,编写程序,输入行李质量,计算并输出托运的费用,并画出程序框图。
解:
设行李质量为m kg,应付运费这y元,则运费公式为
y=
0.25×m
0.25×50+0.25×(m-50)
0.25×50+0.35×50+0.45×(m-100)
{
开始
输入m
m≤50
m≤100
y=m×0.25
y=0.25×50+
0.35×(m-50)
y=0.25×50+0.35×
50+0.45×(m-100)
输入m
结束
INPUT “m=”;m
IF m<=50 THEN
y=m﹡0.25
ELSE
IF m<=100 THEN
y=0.25﹡50+0.35﹡ (m-50)
ELSE
y=0.25﹡50+0.35﹡50+
0.45﹡ (m-100)
END IF
END IF
PRINT “y=”;y
END
程序:
程序框图:




《导与练》:到银行办理个人异地汇款(不超过100万元),银行要收取一定的手续费,汇款不超过100元,收取一元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费;试用条件语句描述汇款额为x元时,银行收取手续费为 y元的过程,画出程序框图并写出程序。
开始
输入X
X>0且X≦100
x≦5000
y=1
y=50
y=0.001X
输出 y
结束
Input “汇款金额为”;x
If x>0 and x<=100 then
y=1
else
If x<=5000 then
y=0.01*x
else
y=50
endif
endif
print “手续费为”;y
end
N
Y
Y
N
《导与练》 程序中有两个条件语句 ,它们分别是( )
Input “x=“;x
If x>0 then

y=1
Else ②
If x=0 then

y=0
Else

y=-1
End if

End if

Print “y=“;y
end
B
A. ①-- ⑤ ③--- ⑥
B. ④ -- ⑤ ② --- ⑥
C. ④ -- ⑥ ②--- ⑤
D. ①-- ⑥ ③--- ⑤
《导与练》 有三个数 a,b,c由键盘输入,输出其中最大的数,写出该问题的算法,画出程序框图,并写出相应的程序。
算法:
第一步:输入三个整数a,b,c
第二步:判断a>b且a>c是否成立,若成立,则输出a,若不成立,则转入第三步;
第三步:判断b>c是否成立,若成立,则输出b,若不成立,则输出c;
第四步:输出最大数
开始
输入a,b,c
a>b,a>c
Y
输出a
N
b>c
Y
N
输出b
输出c
结束
开始
输入a,b,c
a>b,a>c
Y
输出a
N
b>c
Y
N
输出b
输出c
结束
Input a,b,c
If a>b and a>c then
print a
else
If b>c then
print b
else
print c
end if
end if
end
《导与练》以下给出的是用算法基本语句描述的某一个问题的算法,根据程序回答发下的问题。
Input m,n,p,q
If m>n and m>p and m>q then
print m
end if
If n>p and n>q then
print n
end if
If p>q then
print p
else
print q
end if
end
问题1:若输入的四个数是8,2,1,13,问输出结果是多少?
问题2:该程序表示的算法的功能是什么?
输出13
求出任意输入四个数m,n,p,q中的最大数
《导与练》己知函数 ,画出程序框图,并编写一个程序。
开始
输入X
X≥0
Y
N
y=X2-1
y=2X2-5
输出y
结束
Input “x=“;x
If x>=0 then
y=x2-1
else
y=2x2-5
end if
print y
end
导与练 某市电信部门规定:拔打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以0.1元/分钟收取通话费(t分钟计,不足1分钟按1分钟计)。问:如何设计一个计算通话费的算法?画出程序框图,并写出程序。
第一步:输入通话时间t
第二步:如果0第三步:输出费用c
开始
输入t
t≤3且t>0
N
Y
c=0.2
C=0.2+0.1(t-3)
输出c
结束
input “通话时间为:”;t
if t<=3 and t>0 then
c=0.2
else
c=0.2+0.1*(t-3)
end if
print “通话费用为”;c
end