条件结构的算法或程序框图

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

i=1 S=0
WHILE i<=100 S=S+i i=i+1
WEND
PRINT S END
思考4:阅读下面的程序,你能说明它是 一个什么问题的算法吗?
x=1 WHILE x∧2<1000
PRINT x=x+1 WEND END
求满足x2<1000的所有正整数x的值.
理论迁移
例1 已知函数y=x3+3x2-24x+30,写 出连续输入自变量的11个取值,分别输 出相应的函数值的程序.
知识探究(一):直到型循环语句 思考1:直到型循环结构的程序框图是什 么?
循环体

满足条件?

思考2:该循环结构对应的循环语句的一 般格式设定为:
DO 循环体
LOOP UNTIL 条件
循环体

满足条件?

你能说明计算机在执行上述语句时是怎 样工作的吗?
DO 循环体
LOOP UNTIL 条件
循环体
循环体 是 满足条件? 否
思考2:该循环结构对应的循环语句的 一般格式设定为:
循环体
满足条件? 是 否
WHILE 条件 循环体
WEND
你能说明计算机在执行上述语句时是 怎样工作的吗?
循环体

满足条件?

WHILE 条件 循环体
WEND
先对条件进行判断,如果条件符合,则执 行WHILE和WEND之间的循环体;然后再 检查上述条件,如果条件仍符合,则再次执 行循环体,直到某一次条件不符合为止.这时, 计算机将不执行循环体,而执行WEND语句 之后的语句.
算法分析: 第一步,输入自变量x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y. 第四步,记录输入次数.
第五步,判断输入的次数是否大于11.若是, 则结束算法;否则,返回第一步.
开始
n=1
输入x
y=x3+3x2-24x+30
输出y
n=n+1 否
n>11? 是
结束
n=1 DO
INPUT x y=x∧3+3*x∧2-24*x+30
2.直到型循环语句在条件不符合时再执 行循环体,当型循环语句在条件符合时 再执行循环体.
作业: P32练习:1,2. P33习题1.2A组:3.
B组:2.
DO S=S+i i=i+1
LOOP UNTIL i>100 PRINT S
否则,返回第二步. END
思考4:在下面的程序运行中,计算机输 出的结果是多少?
x=20 DO x=x-3 LOOP UNTIL x<0 PRINT x END
-1
知识探究(二):当型循环语句 思考1:当型循环结构的程序框图是什么?
PRINT y n=n+1 LOOP UNTIL n>11 END
例2 将用“二
分法”求方程
x2 2 0(x 0)
的近似解的程序
框图转化为相应
的程序.

a=m
开始
f(x)=x2-2
输入精确度d 和初始值a,b
m = a+b 2
f(a)f(m)<0? 是
b=m
否 |a-b|<d或f(m)=0?
思考3:计算1+2+3+…+100的值又有如下 算法:
第一步,令i=1,S=0. 第二步,若i≤100成立,则执行第三
步;否则,输出S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步.
你能利用WHILE语句写出这个算法对应的 程序吗?
第一步,令i=1, S=0. 第二步,若i≤100成 立,则执行第三步; 否则,输出S,结束 算法. 第三步,S=S+i. 第四步,i=i+1,返 回第二步.
是 输出m
结束
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 END IF LOOP UNTIL ABS(a-b)<d OR f=0 PRINT m END
小结作业
1.两种循环语句源于两种循环结构,直 到型循环语句先执行循环体,再判断条 件;当型循环语句先判断条件,再执行 循环体.
满足条件? 否 是
先执行一次DO和UNTIL之间的循环体, 再对UNTIL后的条件进行判断.如果条件不符 合,则继续执行循环体;然后再检查上述条 件,如果条件仍不符合,则再次执行循环体, 直到条件符合为止.这时,计算机将不执行循 环体,而执行UNTIL语句之后的语句.
思考3:计算1+2+3+…+100的值有如下算 法:
源自文库
第一步,令i=1,S=0.
第二步,计算S+i,仍用S表示.
第三步,计算i+1,仍用i表示.
第四步,判断i>100是否成立.若是,

输出S,结束算法;否则,返

第二步.
你能利用UNTIL语句写出这个算法对 应的程序吗?
第一步,令i=1,S=0. 第二步,计算S+i, 仍用S表示.
i=1 S=0
第三步,计算i+1, 仍用i表示. 第四步,判断i>100 是否成立.若是,则 输出S,结束算法;
1.2 基本算法语句 1.2.3 循环语句
问题提出
1.两种条件语句的一般格式分别是什
么?
格式1:
IF 条件 THEN 语句体
END IF
格式2:
IF 条件 THEN 语句体1
ELSE 语句体2
END IF
2.对于顺序结构、条件结构的算法 或程序框图,我们可以利用输入语句、 输出语句、赋值语句和条件语句写出其 计算机程序.对于循环结构的算法或程序 框图,要转化为计算机能够理解的算法 语言,我们必须进一步学习循环语句.
相关文档
最新文档