循环结构、程序框图的画法

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

循环结构: (1)循环体:设a为某年的年生产总值, t为年生产总值的年增长量,n为年份,则 t=0.05a,a=a+t,n=n+1. (2)初始值:n=2005,a=200. (3)设定循环控制条件:当“a>300”时 终止循环.
开始 n=2005 a=200 t=0.05a a=a+t n=n+1 a>300 ? 是 输出n 结束 否

是 在执行了一次循环体后, 对条件进行判断,如果条件 在每次执行循环体前,对条件 进行判断,如果条件满足,就 执行循环体,否则终止循环.
不满足,就继续执行循环体,
直到条件满足时终止循环.
这种循环结构称为当型循环结构.
这种循环结构称为直到型循环结构.
循环结构特点
需要重复执行同一操作的结构称为
循环结构,即从某处开始,按照一定
S=S+i
i=i+1
i>100? 是 输出S 结束 否
例2. 设计一个求满足 “1+3+5+„+n>2008” 的n的最小值的算
解 :在这个问题中,需要累加多少次,事先 法,并画出程序框图 并不知道,为此我们采用直到型的循环.
• • • • • • • •
算法: S1 n=1; S2 s=1; S3 如果s>2008,则执行S6 , 否则执行S4,S5 ; S4 n=n+2 , S5 s=s+n ; S6 输出n.
2.设计一个算法求12+22+32+...+992+1002的值,并画 出程序框图.
解:算法步骤如下: 第一步:给定精确度d,令i=1; 第二步:取出 2 的到小数点后第i位的不足近似值,记 为a; 取出 2 的到小数点后第i位的过剩近似值,记为
b;
第三步:计算m=5b-5a; 第四步:若m<d,则得到 5 值增加1,近回第二步; 第五步:得到 5
2 2
的近似值为5a;否则,将i的
的近似值为5a.
程序框图如下:
开始
输入误差d i=1
将 将
2 2
的到小数点后第i位的不足近似值记为a 的到小数点后第i位的过剩近似值记为b
m=5b-5a
m<d? 是 否
输出
5a
结束
程序框图如下:
开始 S=0
i=1 i≤100? 是
S=S+i*i 否
i=i+1
输出S 结束
第3课时
循环结构、程序框图的画法
条件结构
满足条件?

满足条件?


步骤A 步骤B

步骤A
(1)
(2)
算法的循环结构
在算法的程序框图中,由按照一定的条件反复执行
的某些步骤组成的逻辑结构,称为循环结构,反复执行 的步骤称为循环体。
循环结构用程序框图可以表示为:
循环体
满足条件? 否
循环体 是
满足条件?
思考2:该算法中哪几个步骤可以用顺序结构来表示?这
个顺序结构的程序框图如何? 思考3:该算法中第四步是什么
逻辑结构?这个步骤用程序框 图如何表示?
f(x)=x2-2 输入精确度d 和初始值a,b
m ab 2

f(a)f(m)<0 ? 是 b= m
a=m
思考4:该算法中哪几个步骤构成循环结构?这个循环结构 用程序框图如何表示? 第三步 第四步 |a-b|<d 或 f(m)=0? 是 输出m 否
第一步:用自然语言表述算法步骤. 第二步:确定每个算法步骤所包含的逻辑结构,并用相应 的程序框图表示. 第三步:将所有步骤的程序框图用流程线连接起来,并加
上两个终端框.
修凿可以使道路平直,但只有崎岖的未经
修凿的道路才是天才的道路。
练习3.设计计算13+33+53+„+993的算法程序
,并画出相应的流程图。
算法如下: S1 p=0; S2 i =1; S3 p=p +i 3; S4 i =i+2; S5 若i >99,则输出p,否则转S3.
p=0 i=1
p= p+i3
i=i+2
i >99 N Y 输出p
设计一个算法的程序框图的基本思路:
的条件反复执行某一处理步骤,反复 执行的处理步骤称为循环体. 右图是一 种常见的循环结构。 ______循环结构
它的功能是先执行A框,然后判断给定的条件是否
成立,如果p条件不成立,则再执行A,然后再对p条件
作判断,如果p条件仍然不成立,又执行A,……,
另外,下图所示的框图也是常见的一种循环结构
,它的功能是先判断条件p是否成立,若成立,则执 行A框;再判断,再执行,……,直到不符合条件时 ,就终止循环,执行本循环结构后的下一步程序。
_______循环结构
例1:设计一个计算1+2+3+„+100的值的算法,并画出程
序框图.
第1步:0+1=1. 第2步:1+2=3.
第3步:3+3=6.
第4步:6+4=10. „„ 第100步:4950+100=5050.
我们用一个累加变量S表示每一步的计算结果,即把
S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的
i=i+1 S=S+i
i≤100?
否 输出S 结束

如果用直到型循环结构,上述算
开始 i=1 S=0
法的程序框图如何表示?
第一步:令i=1,S=0. 第二步:计算S+i,仍用S表示. 第三步:计算i+1,仍用i表示. 第四步:判断i>100是否成立.若是, 则输出S,结束算法;否则,返回第 二步.
思考5:根据上述分析, 你能来自百度文库出表示整个算法
开始
f(x)=x2-2
输入精确度d 和初始值a,b
m = a + b 2
的程序框图吗?

a=m
f(a)f(m)<0? 是 b=m |a-b|<d或f(m)=0? 是 输出m
结束

1.设计一个用有理指数幂逼近无理指数幂 5 2 的算法,
并估计 5 2 的近似值,画出算法的程序框图.
程序框图的画法
思考1:用“二分法”求方程x2-2=0(x>0)的近似解的算法如何设计? 第一步:令f(x)=x2-2,给定精确度d. 第二步:确定区间[a,b],满足f(a)·f(b)<0. 第三步:取区间中点m=(a+b)/2. 第四步:若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零 点的区间为[m,b].将新得到的含零点的区间仍记为[a,b]. 第五步:判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m 是方程的近似解;否则,返回第三步.
开始 n=1 s=1 s=s+n n=n+2
s>2008
是 输出n 结束

例2 某工厂2005年的年生产总值为200万元,技术革新后预计以后
每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预
计年生产总值超过300万元的最早年份. 算法分析: 第一步:输入2005年的年生产总值. 第二步:计算下一年的年生产总值. 第三步:判断所得的结果是否大于300.若是,则输出该年的年份; 否则,返回第二步.
初始值为0,i依次取1,2,…,100,由于i同时记录了循 环的次数,所以也称为计数变量. 第一步:令i=1,S=0. 第二步:如果i≤100成立,则执行第三步,否则,输出S, 结束算法. 第三步:S=S+i.
第四步:i=i+1,返回第二步.
上述算法的程序框图表示为: 当型循环结构.
开始
i=1
S=0
相关文档
最新文档