1.2.3 循环语句 (二)(改)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例2、已知:y x3 3x2 24x 30,编写一个程序,连续 输入自变量的11个取值,输出相应的函数值。
开始
程序:
框图: n=1
n=1 DO
INPUT “x”;x y=x^3+3 * x^2-24* x+30 PRINT y n=n+1 LOOP UNTIL n>11 END
输入x
y x3 3x2 24x 30
DO
f (x) x2 2
m = (a + b) / 2
g = a^2 - 2
输入精确度d和 初始值a,b
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

am


m
a
2
IF r=0 THEN PRINT “n不是质数”
i>n-1或r=0? 否 是
r =0? 否
ELSE

PRINT “n是质数” END IF
n不是质数 n是质数
END
结束
2、编写一个程序,输入正整数n,计算它的阶乘
n!(n!=n*(n-1)*…*3*2*1)
程序:
分析:第一步,1!=1*1 第二步,2!=1!*2 第3步,3!=2!*3 … 第i步,i!=(i-1)!*i
算法:
框图: 开始
第一步:输入x的值;
第二步:计算y x3 3x2 24x 30 的值;
第三步:输出y的值。 第四步:记录输入的次数
n=1
输入x
y x3 3x2 24x 30
第五步:判断输入的次数是否大于11, 若是,则结束算法;否则返回第一步。
输出y
n=n+1 否
n>11? 是
结束
是 输出i 结束
i=0 s=0 DO
i=i+1 s=s+i LOOP UNTIL s>10000 PRINT i END
b
f (a) f (m) 0?

bm
| a b | d OR f(m)=0?
是 输出m
结束
巩固练习
开始
1、根据程序框图写出判断整
输入n
数n(n>2)是否为质数”的程序.
i=2
INPUT “n=“;n
i=2
求n除以i的余数r
DO r=n MOD i
i=i+1
i=i+1 LOOP UNTIL i>n-1 OR r=0
输出y
n=n+1 否
n>11? 是
结束
例2、写出用“二分法”求方程x2-2=0(x>0) ①
的近似解的程序
m
a
2Leabharlann b开始f (x) x2 2
输入精确度d和 初始值a,b


am
f (a) f (m) 0?

bm

| a b | d
OR f(m)=0?

输出m
结束
INPUT “a,b,d=”;a,b,d 开始
1.2.3 循环语句 (2)
复习
两种循环语句:
(1) While(当型)循环 循环体
满足条件? 是

WHILE 条件
循环体
WEND
(2)Until(直到型)循环
循环体
满足条件?
否 是
DO 循环体
LOOP UNTIL 条件
例2、已知:y x3 3x2 24x 30,编写一个程序,连续
输入自变量的11个取值,输出相应的函数值。
INPUT “n=“;n i=1 t=1 WHILE i <=n
t=t*i i=i+1
WEND
PRINT “n!=”;t
END
作业:设计一个算法框图:求满足1+2 + 3 + … + n>10000 的最小正整数n,并写出相应的程序。
开始 i=0,S=0
i=i+1 S=S+i 否 S>10000?
相关文档
最新文档