- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两种循环语句:小
( 1)
结
WHILE 条件 循环体 WEND
While(当型)循 循环体
是
环
满足条件?
否
(2)Until(直到型)循环 循环体 满足条件?
否
是
DO 循环体 LOOP UNTIL 条件
1.2.3《基本算法语句-循环语句》
教学目标
• • • • 1.正确理解循环语句的概念; 2.能应用循环语句编写程序。 教学重点 :循环语句的步骤、结构及功能 。 教学难点 :会编写程序中的循环语句
温故而知新
1、条件结构常用的程序语言和格式
(1) IF 条件成立 THEN 语句1 ELSE 语句2 END IF (2) IF 条件成立 THEN 语句 END IF
IF-THEN-ELSE格式
IF-THEN格式
练习:看看程序与框图配套吗?
if 条件1 then if 条件2 then 语句1 else 语句2 end if else 语句体2 end if
否
条件1?
是
语句体2
是
语句2
条件2?
否 语句1
INPUT “please input an integer:” ; x IF 9<x AND x<100 THEN a=2.5 a=x/10 b= 5 b= x MOD 10 x= 10*b + a x= 52.5 PRINT x 52.5 END IF END
开始
输入x
X<1?
否 是
y=x^2-2
是
X=1? 否
y=6
y=-9x-5 输出y 结束
作业
2.编写一个程序,输入正整数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
运行程序,输入25,输出的结果是什么
1.2.3 循环语句
循环结构的定义: 在一些算法中,从某处开始,按照一定条件,反复执行 某一处理步骤的情况,这就是循环结构。 反复执行的处理步骤称为循环体。
While(当型)循环 Until(直到型)循环
A
P
不成立 成立 成立
A P
不成立
两种循环结构有什么差别?
WHILE语句的一般格式:
也叫“前测试型”循环
While(当型)循环
循环体 满足条件? 否 当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体;然 后再检查上述条件,如果条件仍符合,再次执行循环体, 这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不执行循环体,直接跳到WEND语句后,接着执 行WEND之后的语句. 是 WHILE 条件 循环体 WEND
循环结构
While(当型)循环 Until(直到型)循环
A
A P
成立 不成立
P
不成立
成立
算法中的循环结构是由循环语句来实现的。
(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND WHILE——当…… 时候
wk.baidu.com
WEND——朝……方向 行走
其中循环体是由计算机反复执行的一组语句 构成的。WHLIE后面的“条件”是用于控制计算机 执行循环体或跳出循环体的。
练习 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
作业
1、以程序的嵌套的形式书写程序 ( x 1) x2 2 ( x 1) y 6 9 x 5 ( x 1)
条件
提问:通过对照,大家觉得WHILE型语句与UNTIL型 语句之间有什么区别呢? 区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。
练习1.编写程序, 计算自然数1+2+3+…+99+100的和. 分析:这是一个累加问题.我们可 以用WHILE型语句,也可以用UNTIL型语 句。
直到型
开始
UNTIL语句 i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END
i=1
S=0 S=S+i i=i+1 否
i>100?
是 输出S 结束
当型循环结构
开始
i=1 S=0 i=i+1 i≤100? 否 输出S
WHILE语句 i=1 S=0 WHLIE i<=100 S=S+i i=i+1 WEND PRINT S END
2、编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
以程序的嵌套的形式书写程序 ( x 1) x2 2 ( x 1) y 6 9 x 5 ( x 1)
Input x
IF x<0 THEN y=-2*x+1 ELSE IF x=0 THEN y=6 ELSE y=x+1 END IF END IF PRINT y
是
也叫“后测试型”循环
否
DO 循环体 LOOP UNTIL 条件
思考1:参照直到型循环结构,说说计算机是按怎样
的顺序执行UNTIL语句的?
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.
WHILE语句的一般格式 WHILE 条件 循环体 WEND
UNTIL语句的一般格式
DO 循环体 LOOP UNTIL
结束
结构
变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNITL语句
i=1
S=1 S=0
S=S *i S=S+i
i=i+2 i=i+1 i>100? i>101?
是 输出S 否
i=1 S=0 S=1 DO S=S+i S=S *i i=i+1 i=i+2 LOOP UNTIL i>100 101 PRINT S END
两种循环结构有什么差别?
While(当型)循环
先判断 后执行
先判断指定的条件是否为真, 若条件为真,执行循环条件, 条件为假时退出循环。
A P
不成立 成立
Until(直到型)循环
先执行 后判断
A
P
成立 不成立
先执行循环体,然后再检查条 件是否成立,如果不成立就重 复执行循环体,直到条件成立 退出循环。
2、设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的QBASIC程序。 开始 i=0 i=0,Sum=1 i=i+1 sum = 0 DO
i=i+1
Sum=Sum*i sum = sum + i 否 Sum>10000? 是 输出i 结束 LOOP UNTIL sum>10000 PRINT i END
(2)UNTIL语句的一般格式是: 直到型循环结构
DO 循环体 LOOP UNTIL
循环体
条件
满足条件?
否
DO——做什么 LOOP UNTIL——绕环回线走,直到达到某种 条件为止 思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的?
是
UNTIL语句的一般格式: Until(直到型)循环 循环体 满足条件?
是
S=S+i
结束
变式训练(1): 编写程序求:n!=1×2×3×4×5×……×n的值. 开始 如何修改? WHILE语句 输入n INPUT “n=”;n i=1 i=1 S=0 S=1 S=1 S=0 n WHLIE i<=100 i=i+1 S=S+i S=S*i i=i+1 S=S+i S=S*i 是 WEND i≤100? i≤n? PRINT S 否 当型循环 输出S END
结束
变式3:函数y=x^2-3x+5,从x=1开始连续输入19 个自然数进行取值,输出相应的函数值,用程序语 言进行编程 程序 n=1
直到型
DO y=x^2-3*x+5 PRINT “x=”;x, “y=”;y n=n+1 LOOP UNTIL n>20
END
当型
程序
n=1
WHILE n<=20 y=x^2-3*x+5 PRINT “x=”;x, “y=”;y n=n+1 WEND END