数学:1.2.3《基本算法语句-循环语句》PPT课件(新人教A版必修3)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Δ≥0?
是
否
x1=p+q x2=p-q
是
x1=x2?
否
原方程无实数根
原方程有两个相等 的实数根x1,x2
原方程有两个不等 的实数根x1,x2
结束
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=x1 ELSE PRINT “有两个实根:”;“x1=”;x1,”x2=”;x2 END IF ELSE PRINT “没有实根” END IF END
否
x1=x
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f ( x1 ) x12 2
f ( x) x2 2
是
f(x)=0?
否 f(x1)f(x)<0? 是
x2=x
否
|x1-x2|<c?
是 输出x 结束
练习 P24
x1=1 x2=2 c=0.005 DO X=(X1+X2)/2 f(x1)=x1^2-2 f(x)=x^2-2 IF f(x)=0 THEN PRINT "方程根为:";x ELSE IF f(x1)*f(x)<0 THEN x2=x ELSE x1=x END IF END IF LOOP UNTIL ABS(x1-x2)<=c PRINT "方程的近似根为:";x END
1.2.3 《基本算法语句 -循环语句》
教学目标
1.正确理解循环语句的概念; 2.能应用循环语句编写程序。
教学重点
:循环语句的步骤、结构及功能 。 教学难点 :会编写程序中的循环语句
温故而知新 1、顺序结构常用的程序语言和格式
输入语句 INPUT “提示文字”;变量列表 输出语句 PRINT “提示文字”;变量列表 赋值语句 变量=表达式 2、条件结构常用的程序语言和格式 (1)IF 条件成立 THEN 语句1 ELSE 语句2 END IF (2)IF 条件成立 THEN 语句 END IF
Until(直到型)循环
也叫“后测试型”循环
循环体 满足条件?
否
是
DO 循环体 LOOP UNTIL 条件
思考1:参照直到型循环结构,说说计算机是按怎样
的顺序执行UNTIL语句的?
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值. 程序框图:
小 结
两种循环语句:
(1)
While(当型)循 循环体
是
环
满足条件?
否
WHILE 条件 循环体 WEND
(2)Until(直到型)循环 循环体 满足条件?
否
是
DO 循环体 LOOP UNTIL 条件
While(当型)循环
先判断 后执行
先判断指定的条件是否为真, 若条件为真,执行循环条件, 条件为假时退出循环。
A P
不成立 成立
Until(直到型)循环
先执行 后判断
A
P
成立 不成立
先执行循环体,然后再检查条 件是否成立,如果不成立就重 复执行循环体,直到条件成立 退出循环。
循环结构
While(当型)循环 Until(直到型)循环
i=0
i = i+1 : t=i^2
PRINT t
否 i>=n? 是 结束
2、设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的QBASIC程序。 开始 i=0,Sum=1 i=i+1 i=0 sum = 0 DO
i=i+1
Sum=Sum*i sum = sum + i 否 Sum>10000? 是 输出i 结束 LOOP UNTIL sum>10000 PRINT i END
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f ( x1 ) x12 2
f ( x) x2 2
是
f(x)=0?
否
x1=x
否 f(x1)f(x)<0? 是
x2=x
否
|x1-x2|<c?
是 输出x 结束
练习 P24
2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。 x=1 WHILE x<=20 y=x^2 -3*x+5 PRINT "x=";x PRINT "y=";y x=x+1 WEND END
A
A P
成立 不成立
P
不成立
成立
算法中的循环结构是由循环语句来实现的。
两种循环语句:
(1)WHILE语句的一般格式: While(当型)循环 循环体
满足条件?
否 是
也叫“前测试型”循环
WHILE 条件 循环体 WEND
当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体;然 后再检查上述条件,如果条件仍符合,再次执行循环体, 这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不执行循环体,直接跳到WEND语句后,接着执 行WEND之后的语句.
结束
1.2.3 循环语句
三中天地
循环结构的定义:
在一些算法中,从某处开始,按照一定条件,反复执行 某一处理步骤的情况,这就是循环结构。 反复执行的处理步骤称为循环体。
While(当型)循环 Until(直到型)循环
A
P
不成立 成立 成立
A P
不成立
两种循环结构有什么差别?
两种循环结构有什么差别?
是
对应的流程图
b>a?
否
t=a,a=b,b=t
是
c>a?
否
t=a,a=c,c=t
是
c>b?
否
t=b,b=c,c=t
输入a,b,c
来自百度文库结束
练习巩固 (1)
开始
该程序框图所表示的算法是作 用是什么?并根据程序框图写出相 应的程序。
输入a,b,c
a+b>c,a+c > b, b+c > a是否同时成立?
否
是 存在这样的 三角形 不存在这样 的三角形
d=d+1
d<=n-1且 flag=1? 否
flag=1? 是 n是质数 结束 否
n不是质数
开始
(1) n=5
输入n
Flag=1
n>2
否
是
d=2
否
d整除n?
(2)
是
Flag=0
(1)
d=d+1
是
d<=n-1且 flag=1?
否
(2)n=4
Flag=1?
否
是
8
结束
INPUT “n=”;n flag=1 IF n>2 THEN d=2 WHILE d<=n-1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 思考题:判断质数的 END IF 算法是否还有所改进? WEND END IF IF flag=1 THEN PRINT n;"是质数." ELSE PRINT n;"不是质数." END IF END
练习 P24
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
t=1 i=1 INPUT "请输入n的值:";n DO t=t*i i=i+1 LOOP UNTIL i>n PRINT "这个数的阶乘为:";t END
练习巩固 1、设计一个算法框图:逐个输出12,22,32,……,n2,并 写出相应的QBASIC程序。 开始 INPUT n INPUT n i=0 WHILE i < n i=i+1 t=i^2 PRINT t WEND END INPUT n i=0 DO i=i+1 t=i^2 PRINT t LOOP UNTIL i > = n END
相应的QBASIC程序: 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
开始 输入a,b,c
练习、根据1.1.2例3中的程序框图,编写 计算机程序来计算1+2+…+100的值
开始 i=1
程序:
sum=0
i=i+1 i<=100? 否 输出sum 结束 是 sum=sum+i
i=1 sum=0 WHILE i<=100 sum=sum+i i=i+1 WEND PRINT sum END
(2)UNTIL语句的一般格式:
开始
i=1 sum=0 sum=sum+i i=i+1
程序:
否
i>100?
是
输出sum 结束
i=1 sum=0 DO sum=sum+i i=i+1 LOOP UNTIL i>100 PRINT sum END
思考3:图1.1-2,用按照算法执行的顺序,把程序
框图中的内容转化为相应的程序语句。
d整除n? 开始 输入n flag=1 n>2? 是 d=2 否 是 是 flag=0 否
开始
例5 编写程序,输入一元二次方程
ax bx c 0
2
输入a,b,c Δ=b2-4ac p= -b/2a
的系数,输出它的实数根。 算法描述: S1:输入a,b,c S2:计算判别式△ S3:如果△<0有两不同实根, △=0有两个相同实根, △<0 否则没实数根。根据情况输出 结果。
q=SQR(ABS (Δ))/(2a)
例6 编写程序,使得任意输入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
练习 P24
1.根据你画出的用二分法求方程x2-2=0的 近似根的程序框图,写出相应的程序语句。
2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
练习 P24
1.根据你画出的用二分 法求方程x2-2=0的 近似根的程序框图, 写出相应的程序语句。
是
否
x1=p+q x2=p-q
是
x1=x2?
否
原方程无实数根
原方程有两个相等 的实数根x1,x2
原方程有两个不等 的实数根x1,x2
结束
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=x1 ELSE PRINT “有两个实根:”;“x1=”;x1,”x2=”;x2 END IF ELSE PRINT “没有实根” END IF END
否
x1=x
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f ( x1 ) x12 2
f ( x) x2 2
是
f(x)=0?
否 f(x1)f(x)<0? 是
x2=x
否
|x1-x2|<c?
是 输出x 结束
练习 P24
x1=1 x2=2 c=0.005 DO X=(X1+X2)/2 f(x1)=x1^2-2 f(x)=x^2-2 IF f(x)=0 THEN PRINT "方程根为:";x ELSE IF f(x1)*f(x)<0 THEN x2=x ELSE x1=x END IF END IF LOOP UNTIL ABS(x1-x2)<=c PRINT "方程的近似根为:";x END
1.2.3 《基本算法语句 -循环语句》
教学目标
1.正确理解循环语句的概念; 2.能应用循环语句编写程序。
教学重点
:循环语句的步骤、结构及功能 。 教学难点 :会编写程序中的循环语句
温故而知新 1、顺序结构常用的程序语言和格式
输入语句 INPUT “提示文字”;变量列表 输出语句 PRINT “提示文字”;变量列表 赋值语句 变量=表达式 2、条件结构常用的程序语言和格式 (1)IF 条件成立 THEN 语句1 ELSE 语句2 END IF (2)IF 条件成立 THEN 语句 END IF
Until(直到型)循环
也叫“后测试型”循环
循环体 满足条件?
否
是
DO 循环体 LOOP UNTIL 条件
思考1:参照直到型循环结构,说说计算机是按怎样
的顺序执行UNTIL语句的?
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值. 程序框图:
小 结
两种循环语句:
(1)
While(当型)循 循环体
是
环
满足条件?
否
WHILE 条件 循环体 WEND
(2)Until(直到型)循环 循环体 满足条件?
否
是
DO 循环体 LOOP UNTIL 条件
While(当型)循环
先判断 后执行
先判断指定的条件是否为真, 若条件为真,执行循环条件, 条件为假时退出循环。
A P
不成立 成立
Until(直到型)循环
先执行 后判断
A
P
成立 不成立
先执行循环体,然后再检查条 件是否成立,如果不成立就重 复执行循环体,直到条件成立 退出循环。
循环结构
While(当型)循环 Until(直到型)循环
i=0
i = i+1 : t=i^2
PRINT t
否 i>=n? 是 结束
2、设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的QBASIC程序。 开始 i=0,Sum=1 i=i+1 i=0 sum = 0 DO
i=i+1
Sum=Sum*i sum = sum + i 否 Sum>10000? 是 输出i 结束 LOOP UNTIL sum>10000 PRINT i END
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f ( x1 ) x12 2
f ( x) x2 2
是
f(x)=0?
否
x1=x
否 f(x1)f(x)<0? 是
x2=x
否
|x1-x2|<c?
是 输出x 结束
练习 P24
2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。 x=1 WHILE x<=20 y=x^2 -3*x+5 PRINT "x=";x PRINT "y=";y x=x+1 WEND END
A
A P
成立 不成立
P
不成立
成立
算法中的循环结构是由循环语句来实现的。
两种循环语句:
(1)WHILE语句的一般格式: While(当型)循环 循环体
满足条件?
否 是
也叫“前测试型”循环
WHILE 条件 循环体 WEND
当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体;然 后再检查上述条件,如果条件仍符合,再次执行循环体, 这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不执行循环体,直接跳到WEND语句后,接着执 行WEND之后的语句.
结束
1.2.3 循环语句
三中天地
循环结构的定义:
在一些算法中,从某处开始,按照一定条件,反复执行 某一处理步骤的情况,这就是循环结构。 反复执行的处理步骤称为循环体。
While(当型)循环 Until(直到型)循环
A
P
不成立 成立 成立
A P
不成立
两种循环结构有什么差别?
两种循环结构有什么差别?
是
对应的流程图
b>a?
否
t=a,a=b,b=t
是
c>a?
否
t=a,a=c,c=t
是
c>b?
否
t=b,b=c,c=t
输入a,b,c
来自百度文库结束
练习巩固 (1)
开始
该程序框图所表示的算法是作 用是什么?并根据程序框图写出相 应的程序。
输入a,b,c
a+b>c,a+c > b, b+c > a是否同时成立?
否
是 存在这样的 三角形 不存在这样 的三角形
d=d+1
d<=n-1且 flag=1? 否
flag=1? 是 n是质数 结束 否
n不是质数
开始
(1) n=5
输入n
Flag=1
n>2
否
是
d=2
否
d整除n?
(2)
是
Flag=0
(1)
d=d+1
是
d<=n-1且 flag=1?
否
(2)n=4
Flag=1?
否
是
8
结束
INPUT “n=”;n flag=1 IF n>2 THEN d=2 WHILE d<=n-1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 思考题:判断质数的 END IF 算法是否还有所改进? WEND END IF IF flag=1 THEN PRINT n;"是质数." ELSE PRINT n;"不是质数." END IF END
练习 P24
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
t=1 i=1 INPUT "请输入n的值:";n DO t=t*i i=i+1 LOOP UNTIL i>n PRINT "这个数的阶乘为:";t END
练习巩固 1、设计一个算法框图:逐个输出12,22,32,……,n2,并 写出相应的QBASIC程序。 开始 INPUT n INPUT n i=0 WHILE i < n i=i+1 t=i^2 PRINT t WEND END INPUT n i=0 DO i=i+1 t=i^2 PRINT t LOOP UNTIL i > = n END
相应的QBASIC程序: 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
开始 输入a,b,c
练习、根据1.1.2例3中的程序框图,编写 计算机程序来计算1+2+…+100的值
开始 i=1
程序:
sum=0
i=i+1 i<=100? 否 输出sum 结束 是 sum=sum+i
i=1 sum=0 WHILE i<=100 sum=sum+i i=i+1 WEND PRINT sum END
(2)UNTIL语句的一般格式:
开始
i=1 sum=0 sum=sum+i i=i+1
程序:
否
i>100?
是
输出sum 结束
i=1 sum=0 DO sum=sum+i i=i+1 LOOP UNTIL i>100 PRINT sum END
思考3:图1.1-2,用按照算法执行的顺序,把程序
框图中的内容转化为相应的程序语句。
d整除n? 开始 输入n flag=1 n>2? 是 d=2 否 是 是 flag=0 否
开始
例5 编写程序,输入一元二次方程
ax bx c 0
2
输入a,b,c Δ=b2-4ac p= -b/2a
的系数,输出它的实数根。 算法描述: S1:输入a,b,c S2:计算判别式△ S3:如果△<0有两不同实根, △=0有两个相同实根, △<0 否则没实数根。根据情况输出 结果。
q=SQR(ABS (Δ))/(2a)
例6 编写程序,使得任意输入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
练习 P24
1.根据你画出的用二分法求方程x2-2=0的 近似根的程序框图,写出相应的程序语句。
2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
练习 P24
1.根据你画出的用二分 法求方程x2-2=0的 近似根的程序框图, 写出相应的程序语句。