【原创,自用】1.2.3循环语句

合集下载

1.2.3循环语句

1.2.3循环语句

2、设计一个算法框图:求满足1+2 + 3 + … + n 设计一个算法框图:求满足1 10000的最小正整数 的最小正整数n 并写出相应的QBASIC程序。 QBASIC程序 >10000的最小正整数n,并写出相应的QBASIC程序。
程序 开始 i=0,Sum=0 i=i+1 Sum=Sum+i 否 Sum>10000? 是 输出i 结束 i=0 sum = 0 DO i=i+1 sum = sum + i LOOP UNTIL sum>10000 PRINT i END
直 到 型
设计一个计算1+2+3+ 1+2+3+…+100 的值的程序(课本15 15页 例1:设计一个计算1+2+3+ +100 的值的程序(课本15页) 程序: 程序: i=1 S=0 WHILE i<=100 S=S+i i=i+1 WE S I E 框图: 框图: 开始 i=1,S=0 i<=100? 是 S= S+i i= i+1 否
循环体 LOOP UNTIL
条件

先执行一次DO和UNTIL之间的循环体,再对 先执行一次DO和UNTIL之间的循环体, DO 之间的循环体 UNTIL后的条件进行判断 如果条件不符合, 后的条件进行判断. UNTIL后的条件进行判断.如果条件不符合,则继 续执行循环体;然后再检查上述条件, 续执行循环体;然后再检查上述条件,如果条件 仍不符合,则再次执行循环体, 仍不符合,则再次执行循环体,直到条件符合为 这时,计算机将不执行循环体,而执行UNTIL 止.这时,计算机将不执行循环体,而执行UNTIL 语句之后的语句.

1.2.3循环语句

1.2.3循环语句

例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
开始
例3.你能说出如下程 序框图的算法功能吗? 并且根据此程序框图 写出相应的程序.

f(x)=x2-2 输入a,b和精确度d m=(a+b)/2 f(a)f(m)<0 ? 否 a=m 否 |a-b|<d or f(m)=0? 是 输出近似解为m 结束
b=m
练习
编写一个程序 2 2 应的程序框图。 WHILE 型:
S=0 i=2 WHILE i<=1000 S=s+i^2 i=i+2 WEND PRINT s END
结束 i=2 i=i+2
4 2 1000 2计算的值,并画出相
开始
程序框图:
S=0
i<=1000?


S=s+i2
输出 s
开始
UNTIL 型:
程序框图:
S=0 i=2
S=0
编写程序,使得任意输入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

1.2.3 循环语句

1.2.3  循环语句

直到型循环语句 思考1:直到型循环结构的程 序框图是什么?
满足条件?
循环体


思考2:该循环结构对应的循环语句的一般格式设定为:
也叫“后测试型”循环
循环体 DO 循环体 LOOP UNTIL 条件
满足条件? 是

你能说明计算机在执行上述语句时是怎样工作的吗?
先执行一次DO和UNTIL之间的循环体,再对UNTIL后 的条件进行判断.如果条件不符合,则继续执行循环体;

否 (2)Until(直到型)循环 循环体
满足条件? 是
DO 循环体 LOOP UNTIL 条件

命运把握在自己手中,只要我们奋斗不息,
一定可以到达胜利的终点.
WHILE i<=1000
S=S+i^2 i=i+2
i<=1000? 是
否 输出 S 结束
S=S+i2
WEND
PRINT S END
UNTIL 型: S=0
程序框图:
开始 S=0
i=2
Do S=S+i^2 i=i+2 LOOP UNTIL i>1000
i=2
S=S+i2
i=i+2 i>1000?
是 输出 S 结束 否
当型循环结构
开始
i=1 S=0 i=i+1 i≤100? 否 输出S i=1 S=0 WHILE i<=100
S=S+i
i=i+1 WEND PRINT S END

S=S+i
结束
思考4:阅读下面的程序,你能说明它是一个解决什么问 题的算法吗? x=1 WHILE x∧2<1000 PRINT x x=x+1 WEND END 求满足x2<1000的所有正整数x的值.

1.2.3循环语句

1.2.3循环语句
第一步,令i=1,S=0. 第二步,计算S=S+i2, i=i+1. 第三步,判断“i>20” 是否成立. 若是,则输出S; 否则,返回第二步.
S=0
S=S+i2
i=i+1
i>20? 是 输出S 结束 否
练习求S=12+22+32+„+202的算法,框图和程序. 程序: 开始
i=1
S=0
S=S+i2
开始 n=1 S=0 S=S+n n=n+1 S>100? 是 输出n-1 结束 否 S≤100? 否 输出n-1

开始 n=1 S=0
n=n+1 S=S+n
结束
练习:求使1+2+3+„+n>100成立的最小自然数 n的值,画出程序框图及程序 (当型)
开始 n=1 S=0
n=1 S=0 WHILE S<=100 n=n+1 S=S+n n=n+1 S=S+n 是 WEND S≤100? 否 PRINT n-1 输出n-1 END
知识探究1:直到型(UNTIL)循环语句
思考:直到型循环结构的程序框图是什么? 直到型循环语句 简称UNTIL语句 DO
循环体 否
循环体 LOOP UNTIL 条件
满足条件?

例1:写1+2+3+„+100的和的算法,框图和程序
解:算法如下 第一步,令i=1,S=0.
第二步,计算S=S+i, i=i+1.
结束
教材33页A组第1题
-x+1 (x<0) 0 (x=0) y= x+1 (x>0)

1.2.3循环语句

1.2.3循环语句

END IF
结束
END
判断质数程序
练习
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)
是 输出x 结束
练习
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.根据你画出的用二分 法求方程x2-2=0的 近似根的程序框图, 写出相应的程序语句。

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?
练习
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.2.3循环语句

1.2.3循环语句

开始
Input “n=“;n
i=2 Do r= n mod i i=i+1

输入n
i=2 求n除以i的余数 i的值增加1,仍用i表示 i>n-1或r=0? 是 r=0? 是 n不是质数 结束 n是质数 否
loop until i>n-1 or r=0
if r=0 then print “n不是质数” else print ”n是质数“
先判断指定的条件是否为真, 若条件为真,执行循环条件, 条件为假时退出循环。
A P
不成立 成立
Until(直到型)循环
先执行 后判断
A
P
成立 不成立
先执行循环体,然后再检查条 件是否成立,如果不成立就重 复执行循环体,直到条件成立 退出循环。
循环结构
While(当型)循环 Until(直到型)循环
i=i+2 S=s*i
i≤99 Y 输出s 开始
N
i=i+2 wend Print s end
《导与练》P27变式2-1:写出求所有立方小于104的正整数的程序
开始 i=1
i=1 n=i^3
while n<10^4 print i i=i+1 n=i^3 wend end
n=i3
N n<10000 Y 输出i
nห้องสมุดไป่ตู้2


d=2

d整除n?
( 2)

Flag=0
(1)
d=d+1

d<=n-1且 flag=1?

(2)n=4
Flag=1?


结束
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

1.2.3循环语句

1.2.3循环语句

即WHILE语句和UNTIL语句。 (1)UNTIL语句的一般格式是: 直到型循环结构 DO 循环体 LOOP UNTIL
循环体
条件
满足条件?

DO——做什么 LOOP UNTIL——绕环回线走,直到达到某种 条件为止 思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的?
S=1×1=1
S=1×2=2 S=2×3=6
i=1+1=2
i=2+1=3 i=3+1=4
i=2≤4成立.
i=3≤4成立. i=4≤4成立.
S=6×4=24
输出S=24. 答案:24
i=4+1=5
i=5≤4不成立.
5.如图程序输出的结果是 ______. 【解析】该程序的执行过程为
i=4
S=0
i=4<6是. i=4+2=6 S=0+62=36 i=6<6否. 输出S=36. 答案:36
WHILE 条件 循环体 WEND
(2)Until(直到型)循环 循环体 满足条件?


DO 循环体 LOOP UNTIL 条件
练习
编写一个程序 22 42 10002计算的值,并画出相 应的程序框图。
开始
WHILE 型:
S=0 i=2 WHILE i<=1000 S=s+i^2 i=i+2 WEND PRINT 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

1.2.3循环语句

1.2.3循环语句
成绩输入完后(中间用“,”间隔),按Enter键
屏幕上会显示结果,y=115
这里的意思是 “按任意键继续” 即返回刚才输入程序的界面。
s=0 i=1 WHILE i<=n
S=S+a a=a+10 * a i=i+1 WEND
PRINT s
END
小结
两种循环语句:
(1) While(当型)循环 循环体
满足条件?
是 否
WHILE 条件 循环体
WEND
(2)Until(直到型)循环
循环体
满足条件?
是 否
DO 循环体
LOOP UNTIL 条件
i <=100? 否
输出S 结束
程序
i=1 S=0
WHILE i<=100 S=S+i i=i+1
WEND
PRINT S END
例7 编写程序求函数y=x3+3x2-24x+30,连续输入自变量的11个 取值,输出相应的函数值开.始
程序框图
n=1
程序
输入 x
y=x3+3x2-24x+30
输出 y
n = n+1
2、设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的QBASIC程序。
开始 i=0
i=0,S=0
s=0
i=i+1
S=S+i 否
S>10000? 是
输出i
结束
DO i=i+1 s=s+i
LOOP UNTIL s>10000 PRINT i END
3.P33页A组T3.
能被3整除的所有整数。(分别用WHILE型和UNTIL型)

1。2。3循环语句

1。2。3循环语句
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
相应的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
先判断指定的条件是否为真, 若条件为真,执行循环条件, 条件为假时退出循环。
A P
不成立 成立
Until(直到型)循环
先执行 后判断
A
P
成立 不成立
先执行循环体,然后再检查条 件是否成立,如果不成立就重 复执行循环体,直到条件成立 退出循环。
循环结构
While(当型)循环 Until(直到型)循环

对应的流程图
b>a?

t=a,a=b,b=t

1.2.3循环语句

1.2.3循环语句

循环语句的一般格式: 循环语句的一般格式: 循环变量=初值:步长: For 循环变量=初值:步长:终值 循环体; 循环体; end 根据循环变量的 初值、步长、 初值、步长、终 值进行循环。 值进行循环。
while 表达式 循环体; 循环体; end
首先要对表达式进行判断, 首先要对表达式进行判断, 表达式进行判断 如果表达式为真, 如果表达式为真,则执行 循环体部分, 循环体部分,每次开始执 行循环体前都要判断表达 式是否为真。 式是否为真。
s=0; for i=1:1:100 s=s+i; end s
步 长
初值
终值
是 i≤100 否 输出S 输出 结束
for循环 循环
1.一般格式 一般格式 for 循环变量 初值:步长:终值 循环变量=初值:步长: 初值 循环体; 循环体; end 2.说明 2.说明 成对出现。 ① for与 end成对出现。 与 成对出现 步长为1时可省略 时可省略。 ② 步长为 时可省略。 用于预先知道循环次数的情形 次数的情形。 ③ 用于预先知道循环次数的情形。 循环次数=(终值 初值)/步长 终值-初值 步长+1 循环次数 终值 初值 步长 ④ “;”的用处。 的用处。 的用处
一球从100m高度落下,每次落地后反 高度落下, 例4. 一球从 高度落下 跳为原高度的一半,再落下。在第10次落 跳为原高度的一半,再落下。在第 次落 地时,共经过多少路程?第10次下落多高? 地时,共经过多少路程? 次下落多高? 次下落多高 解:算法分析: 算法分析: 第1次下落高度 1=100; 次下落高度h 次下落高度 次下落高度h 第2次下落高度 2=50; 次下落高度 …… 次下落高度h 第10次下落高度 10=h9/2. 次下落高度

1.2.3 循环语句

1.2.3  循环语句

1.2.3 循环语句一、教学目标:(1)正确理解循环语句的概念,并掌握其结构的区别与联系。

(2)会应用循环语句编写程序。

二、教学设计【创设情境】试求自然数1+2+3+……+99+100的和。

显然大家都能准确地口算出它的答案:5050。

而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的循环语句【循环语句】算法中的循环结构是由循环语句来实现的。

对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句结构。

即WHILE 语句和UNTIL 语句。

(1)WHILE 语句的一般格式是:其中循环体是由计算机反复执行的一组语句构成的。

WHLIE 后面的“条件”是用于控制计算机执行循环体或跳出循环体的。

当计算机遇到WHILE 语句时,先判断条件的真假,如果条件符合,就执行WHILE 与WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。

这时,计算机将不执行循环体,直接跳到WEND 语句后,接着执行WEND 之后的语句。

因此,当型循环有时也称为“前测试型”循环。

其对应的程序结构框图为:(如上右图) (2)UNTIL 语句的一般格式是:其对应的程序结构框图为:WHILE 条件循环体 WENDDO循环体 LOOP UNTIL 条件〖思考〗:直到型循环又称为“后测试型”循环,参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL 语句的?(让学生模仿执行WHILE 语句的表述)从UNTIL 型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL 语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。

1.2.3 循环语句111

1.2.3 循环语句111

i=1 输入成绩x 输入成绩
x<6.8?


输出x 输出
i=i+1

i>9?

例4:课本 页:图1.1-20 写出程序 :课本19页
结束
练习: 练习:
1.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,…,20时 编写程序,计算函数 编写程序 当 … 时 的函数值. 的函数值 2.编写一个程序,输入一个正整数n,计算它的阶乘 编写一个程序,输入一个正整数 ,计算它的阶乘n! 编写一个程序 (n!=n×(n-1) ×…×3×2×1). 3.编写程序,找出1~100中3的倍数 编写程序,找出 的倍数. 编写程序 中 的倍数 4.设计程序,判断大于2的整数是否为质数 设计程序,判断大于 的整数是否为质数 设计程序
① 否
r =0? i=2

除以i的余数 求n除以 的余数 除以 的余数r i=i+1 i≥n或r=0? 或
是 ① 否
n不是质数 不是质数
n是质数 是质数
结束
开始 输入n 输入 程序: 程序: i=2 INPUT n i=2 除以i 求n除以 的余数 除以 的余数r DO r=n MOD i i=i+1 i=i+1 LOOP UNTIL i>=n OR r=0 否 i≥n或r=0? 或 IF r=0 THEN PRINT “n is not a prime number” 是 ELSE 否 r =0? PRINT “n is a prime number” 是 END IF END n不是质数 不是质数 n是质数 是质数 结束
1.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,…,20时 编写程序,计算函数 编写程序 当 … 时 的函数值. 的函数值 x=1 DO y=x^2-3*x+5 PRINT y x=x+1 LOOP UNTIL x>20 END x=1 WHILE x<=20 y=x^2-3*x+5 PRINT y x=x+1 WEND END

原创2:1.2.3循环语句

原创2:1.2.3循环语句
2.编写程序,计算函数f(x)=x2-3x+5当 x=1,2, 3,…,20时的函数值。
3.根据你画出的用二分法求方程x2-2=0的 近似根的程序框图,写出相应的程序语句。
例题
1.编写一个程序,输入正整数n,计算它的阶乘n! (n!=n*(n-1)*…*3*2*1)
t=1 i=1 INPUT "请输入n的值:";n DO
• i=1 • s=0 • DO • s=s+i • i=i+1 • LOOP UNTIL
i>100 • PRINT s • END
思考3:比较下面这两个程序运行的结果
程序1 i=6 S=1 WHILE i›0 AND i‹=5 S=S*i i=i-1 WEND PRINT S END
S=1
• 程序2 • i=6 • S=1 • DO • S=S*i • i=i-1 • LOOP UNTIL i‹=5 • PRINT S • END S=6
1、输入语句 INPUT “提示内容 ”;变量
2、输出语句 PRINT “提示内容 ”;表达式
3、赋值语句 变量=表达式
4、条件语句
(1)IF 条件成立 THEN (2)IF 条件成立 THEN
语句1
语句
ELSE 语句2
END IF
END IF
循环结构的定义:
在一些算法中,从某处开始,按照一定条件,反复执行某些步骤 的情况,这就是循环结构。反复执行的步骤称为循环体。
f=m^2—2
IF g*f<0 THEN b=m ELSE a=m END IF LOOP UNTIL ABS(a—b)<C OR f=0 PRINT m END
开始
f(x)=x2-2

1.2.3循环语句

1.2.3循环语句


满足条件?

WHILE 条件 循环体 WEND
(2)Until(直到型)循环 循环体 满足条件?


DO 循环体 LOOP UNTIL 条件
开始 输入n
i=2
求n除以i的余数r i的值增加1, 是 仍用i表示 i>n-1 或r=0? 是 r=0? 否

是 n是质数
结束
n不是质数
INPUT “n=”;n i=2 思考题:判断质数的 DO 算法是否还有所改进? r=nMODi i=i+1 LOOP UNTIL i> n-1 OR r=0 IF r=0 THEN PRINT n;"不是质数." ELSE PRINT n;"是质数." END IF END
求n除以i的余数r i=i+1
i>n-1或r=0?
是 否 否
r=0?

n不是质数
结束
n是质数
练习 P32
2.根据图1.1.2中的程序框图编写 程序,判断大于2的整数是否为质数.
INPUT "n=";n i=2 DO r=n MOD i i=i+1 LOOP UNTIL i>n-1 OR r=0 IF r=0 THEN PRINT n是质数 ELSE PRINT n不是质数 END IF END
是 输出x 结束
例9
INPUT a,b,d DO m=(a+b)/2 g=a^2-2 f=m^2-2 IF g*f<0 THEN b=m ELSE a=m END IF LOOP UNTIL ABS(a-b)<d oR f=0 PRINT m END
开始 输入n i=2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

n=1
输入x
y x3 3x2 24x 30
输出y
n=n+1
n>11?
结 束
例2.编写一个 用“二分法” 求方程x22=0的近似根 的程序框图, 写出相应的程 序 语句。
开始 f(x)=x2-2
输入误差d 和初值a,b
ab m 2
f(a) f(m)<0?

a=m 否
是 b=m
|a-b|<d或f(m)=0?
A P
否 是
Until(直到型)循环
先执行环体,然后再检查条 件是否成立,如果不成立就重 复执行循环体,直到条件成立 退出循环。
两种循环语句:
(1)WHILE语句的一般格式: While(当型)循环 循环体
满足条件?
否 是
也叫“前测试型”循环
WHILE 条件 循环体 WEND
当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体;然 后再检查上述条件,如果条件仍符合,再次执行循环体,这个 过程反复进行,直到某一次条件不符合为止.这时,计算机将 不执行循环体,直接跳到WEND语句后,接着执行WEND之 后的语句.
练习、根据书本P13例6中的程序框图,编写 计算机程序来计算1+2+…+100的值
开始 输入n i=2 求n除以i的余数r
程序 框图
i的值增加1,仍用i表示
i>n-1或r=0? 是 r=0? 是 N不是质数
结束
否 否
n是质数
开始 输入n
i=2
程序 框图
求n除以i的余数r i的值增加1,仍用i表示 i>n-1或r=0? 是 r=0? 是 N不是质数 结束 否 否 n是质数
INPUT “n=”;n i=2 Do r=nMODi i=i+1 LOOP UNTIL i>n-1 OR r=0 IF r=0 THEN PRINT“n is not a prime number.” ELSE PRINT “n is a prime number.” END IF END
i=0
i = i+1 t=i^2 PRINT t 否 i>n? 是 结束
2、设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的QBASIC程序。 开始 i=0,S=1 i=i+1 i=0 s=0 DO
i=i+1
S=S*i s= s + i 否 S>10000? 是 输出i 结束 LOOP UNTIL s>10000 PRINT i END
程序:
练习 P23
2.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
t=1 i=1 INPUT “please input n:";n DO t=t*i i=i+1 LOOP UNTIL i>n PRINT “t=";t END
练习巩固 1、设计一个算法框图:逐个输出12,22,32,……,n2,并 写出相应的QBASIC程序。 开始 INPUT n INPUT n i=0 DO i=i+1 t=i^2 PRINT t LOOP UNTIL i > n END INPUT n i=0 WHILE i <= n i=i+1 t=i^2 PRINT t WEND END
程序框图:
开始
n=1
输入x
y x3 3x2 24x 30
输出y
n=n+1
n>11?
结 束
例1、修改本节例1(P21)的程序,连续输入自变量 的11个取值,输出相应的函数值。
程序框图:
开始
程序: n=1 Do INPUT x y=x^3+3*x^2-24*x+30 PRINT y n=n+1 LOOP UNTIL n>11 END
循环结构的定义:
在一些算法中,从某处开始,按照一定条件,反复执行 某一处理步骤的情况,这就是循环结构。 反复执行的处理步骤称为循环体。
While(当型)循环 Until(直到型)循环
A P
否 是 是
A
P

两种循环结构有什么差别?
两种循环结构有什么差别?
While(当型)循环
先判断 后执行
先判断指定的条件是否为真, 若条件为真,执行循环条件, 条件为假时退出循环。
数学必修③
1.2.3 循环语句
复习
1、顺序结构常用的程序语言和格式
输入语句 INPUT “提示文字”;变量列表 输出语句 PRINT “提示文字”;变量列表 赋值语句 变量=表达式 2、条件结构常用的程序语言和格式 (1)IF 条件成立 THEN 语句1 ELSE 语句2 END IF (2)IF 条件成立 THEN 语句 END IF
END IF
LOOP UNTIL ABS(a-b)<d OR f=0

输出m
结束
PRINT m END
练习 P32
1、根据图1.1-2中的程序框图编写程序,判 断大于2的整数是否为质数。 2、编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
算法:
第一步,给定大于2的 整数n. 第二步,令i=2. 第三步,用i除n,得到余 数r,判断余数r是否为0.若 是,则n不是质数,结束算 法;否则将i的值增加1, 仍用i表示。 第四步,判断i是否大于 (n-1),若是,则n是质数;否 则,返回第三步。
小 结
两种循环语句:
( 1)
While(当型)循 循环体


满足条件?

WHILE 条件 循环体 WEND
(2)Until(直到型)循环 循环体 满足条件?


DO 循环体 LOOP UNTIL 条件
开始 i=1
程序:
s=0
i<=100? 否 输出s 结束
i=i+1 是 s=s+i
i=1 s=0 WHILE i<=100 s=s+i i=i+1 WEND PRINT s END
(2)UNTIL语句的一般格式:
Until(直到型)循环
也叫“后测试型”循环
循环体
满足条件?


DO 循环体 LOOP UNTIL 条件

输出m
结束
开始 f(x)=x2-2
输入误差d 和初值a,b
程序:
INPUT “a,b,d=”;a,b,d Do m=(a+b)/2 g=a^2-2 f=m^2-2 IF g*f<0 THEN b=m ELSE a=m
ab m 2
f(a) f(m)<0?

a=m 否
是 b=m
|a-b|<d或f(m)=0?
UNTIL 型: i=1 s=0
Do s=s+i
i=i+1 LOOP UNTIL i>100 PRINT s
END
例1、修改本节例1(P21)的程序,连续输入自变量 的11个取值,输出相应的函数值。
算法分析:
S1:输入自变量x的值; S2:计算 y x3 3x2 24x 30 的值; S3:输出y; S4:记录输入次数; S5:判断输入的次数是否大于11. 若是,则结束算法;否则,返回S1.
1+2+…+100的值. 程序: 程序框图:
开始
i=1 s=0
s=s+i
i=i+1
i>100?


输出s 结束
i=1 s=0 DO s=s+i i=i+1 LOOP UNTIL i>100 PRINT s END
WHLIE 型: i=0 s=0 WHILE i<=100 i=i+1 s=s+i WEND PRINT s END
当计算机执行上述语句时,先执行一次DO和UNTIL之间 的循环体,再对UNTIL后的条件进行判断。如果条件不符合, 继续执行循环体;然后再检查上述条件,如果条件仍不符合, 再次执行循环体,直到条件符合为止。这时,计算机将不执 行循环体,直接跳到UNTIL语句后,接着执行UNTIL语句后 的语句。
思考:用UNTIL语句编写计算机程序,来计算
相关文档
最新文档