- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
是
r=0?
是
n不是质数
否 n是质数
i=i+1 LOOP UNTIL i>=n OR r=0 IF r=0 THEN
PRINT “n is not a prime number.” ELSE
PRINT “n is a prime number.” END IF
END
结束
3. 程序框图
开始
f(x)=x2-2
当型循环结构
开始
i=1 S=0
i=i+1
是 i≤100? 否
S=S+i
输出S
结束
WHILE语句
i=1 S=0 WHLIE i<=100 S=S+i i=i+1 WEND PRINT S END
直到型 开始
i=1 S=0 S=S+i i=i+1
否 i>100? 是
输出S
结束
UNTIL语句
i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END
(2)UNTIL语句的一般格式是: 直到型循环结构
DO 循环体
LOOP UNTIL 条件
循环体
否
满足条件?
是
DO——做什么
LOOP UNTIL——绕环回线走,直到达到某种 条件为止
转化成程序语言
程序
INPUT “a,b,d=”;a,b,d
DO m=(a+b)/2
输入精确度d和初值a,b f=m^2-2
m ab 2
g=a^2-2 IF g*f<0 THEN
f(a) f(m)<0? 否
是
b=m a=m
|a-b|<d或f(m)=0? 否
b=m ELSE
a=m END IF LOOP UNTIL ABS(a-b)<d OR f=0
§1.2.3 循环语句
温故而知新 1、顺序结构常用的程序语言和格式
输入语句 INPUT “提示文字”;变量列表 输出语句 PRINT “提示文字”;变量列表 赋值语句 变量=表达式
2、条件结构常用的程序语言和格式
(1)IF 条件成立 THEN 语句1
ELSE 语句2
END IF
(2)IF 条件成立 THEN 语句
练习、根据1.1.2例3中的程序框图,编写 计算机程序来计算1+2+…+100的值
开始 i=1 sum=0
i<=100? 否 输出sum
结束
程序: i=1
sum=0
i=i+1
WHILE i<=100
sum=sum+i
是 sum=sum+i
i=i+1
WEND
PRINT sum
END
(2)UNTIL语句的一般格式: Until(直到型)循环
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.
思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.
程序框图:
开始
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
是
输出m
结束
PRINT m END
练习1\求S=1+1/2+1/3……+1/n,编写程序
程序
INPUT “n=”;n
i=1 S=0
WHILE i<=n
S=S+1/i
i=i+1
WEND
PRINT “S=”;S
END
练习2. 程序
INPUT “n=”;n i=1 S=0 WHILE i<=n
S=S+(i+1)/i i=i+1 WEND PRINT “S=”;S END
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f (x1) x12 2
否
x1=x
f (x) x2 2
是 f(x)=0?
否 是
f(x1)f(x)<0?
x2=x
否 |x1-x2|<c? 是 输出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
开始
x1=1,x2=2
c=0.005
x x1 x2 2
f (x1) x12 2
END IF
循环结构的定义:
在一些算法中,从某处开始,按照一定条件,反复执行 某一处理步骤的情况,这就是循环结构。
反复执行的处理步骤称为循环体。
While(当型)循环
Until(直到型)循环
A
A
P 成立
不成立
P 不成立
成立
两种循环结构有什么差别?
两种循环结构有什么差别?
While(当型)循环
A P 成立
变式训练(1):
编写程序求:n!=1×2×3×4×5×……×n的值.
开始
如何修改? WHILE语句
输入n
INPUT “n=”;n
i=1
i=1
S=10
SS==10 WHLIE i<=1n00
i=i+1
S=S+*i i
i≤i≤1n00?? 否
S=S+*i i 是
i=i+1 WEND PRINT S
输出S
A P 不成立
成立
算法中的循环结构是由循环语句来实现的。
两种循环语句:
(1)WHILE语句的一般格式:
也叫“前测试型”循环
While(当型)循环 循环体
满足条件?
是 否
WHILE 条件 循环体
WEND
当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体;然 后再检查上述条件,如果条件仍符合,再次执行循环体, 这个过程反复进行,直到某一次条件不符合为止.这时, 计算机将不执行循环体,直接跳到WEND语句后,接着执 行WEND之后的语句.
小结
两种循环语句:
(1) While(当型)循
环
循环体
满足条件? 是
否
WHILE 条件 循环体
WEND
(2)Until(直到型)循环
循环体
满足条件?
是 否
DO 循环体
LOOP UNTIL 条件
(1)WHILE语句的一般格式是:
WHILE 条件 循环体
WEND
WHILE——当…… 时候
WEND——朝……方向 行走
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)
1.根据你画出的用二分 法求方程x2-2=0的 近似根的程序框图, 写出相应的程序语句。
否
x1=x
f (x) x2 2
是 f(x)=0?
否 是
f(x1)f(x)<0?
x2=x
否 |x1-x2|<c? 是 输出x
结束
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
2、设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的QBASIC程序。
开始 i=0
i=0,Sum=1
sum = 0
i=i+1
Sum=Sum*i 否
Sum>10000? 是
输出i
结束
DO i=i+1 sum = sum + i
LOOP UNTIL sum>10000 PRINT i END
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程序。
也叫“后测试型”循环
循环体
满足条件?
否 是
DO 循环体
LOOP UNTIL 条件
思考1:参照直到型循环结构,说说计算机是按怎样
的顺序执行UNTIL语句的?
思考2:用UNTIL语句编写计算机程序,来计算