9512.net
甜梦文库
当前位置:首页 >> 数学 >>

《1.1.2程序框图与算法的基本逻辑结构(二)》ppt课件(2)



第一章 算法初步 1.1.2 程序框图与算法的基本 逻辑结构(二)

问题提出

1.用程序框、流程线及文字说明来 表示算法的图形称为程序框图,它使算 法步骤显得直观、清晰、简明.其中程序 框有哪几种基本图形?它们表示的功能 分别如何?

终端框 输入、输出 (起止框) 框

处理框 (执行框)

r />
判断框

流程线

2.顺序结构是任何一个算法都离不 开的基本逻辑结构,在一些算法中,有 些步骤只有在一定条件下才会被执行, 有些步骤在一定条件下会被重复执行, 这需要我们对算法的逻辑结构作进一步 探究.

知识探究(一):算法的条件结构

思考1:在某些问题的算法中,有些步骤 只有在一定条件下才会被执行,算法的 流程因条件是否成立而变化.在算法的程 序框图中,由若干个在一定条件下才会 被执行的步骤组成的逻辑结构,称为条 件结构,用程序框图可以表示为下面两 种形式:

满足条件?



满足条件?




步骤A


步骤B 步骤A

你如何理解这两种程序框图的共性 和个性?

思考2:判断“以任意给定的3个正实数为 三条边边长的三角形是否存在”的算法 步骤如何设计? 第一步,输入三个正实数a,b,c. 第二步,判断a+b>c,b+c>a,c+a>b是 否同时成立.若是,则存在这样的三角 形;否则,不存在这样的三角形. 思考3:你能画出这个算法的程序框图 吗?

开始 输入a,b,c

a+b>c , b+c>a , c+a>b 是否 同时成立? 是



存在这样的三角形 结束

不存在这样的三角 形

知识探究(二):算法的循环结构

思考1:在算法的程序框图中,由按照一 定的条件反复执行的某些步骤组成的逻 辑结构,称为循环结构,反复执行的步 骤称为循环体,那么循环结构中一定包 含条件结构吗?

思考2:某些循环结构用程序框图可以表 示为: 在执行了一次循
循环体

满足条件?





环体后,对条件 进行判断,如果 条件不满足,就 继续执行循环体, 直到条件满足时 终止循环.

这种循环结构称为直到型循环结构, 你能指出直到型循环结构的特征吗?

思考3:还有一些循环结构用程序框图可 以表示为: 在每次执行循 环体前,对条 循环体 件进行判断, 如果条件满足, 是 满足条件? 就执行循环体, 否 否则终止循环. 这种循环结构称为当型循环结构,你能 指出当型循环结构的特征吗?

思考4:计算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的初始值为0,i依次取1, 2,?,100,通过重复操作,上述问题的算 法如何设计?

第一步,令i=1,S=0.
第二步,计算S+i,仍用S表示. 第三步,计算i+1,仍用i表示. 第四步,判断i>100是否成立.若是, 则输出S,结束算法;否则,返回第二 步.

思考5:用直到型循环结构,上述算法的 程序框图如何表示? 开始
i=1 S=0

S=S+i
i=i+1 否

i>100? 是

输出S 结束

思考6:用当型循环结构,上述算法的程 序框图如何表示? 开始
i=1 S=0 i=i+1 S=S+i

i≤100?
否 输出S 结束



理论迁移 例1 设计一个求解一元二次方程 ax2+bx+c=0的算法,并画出程序框图表示.
算法分析:

第一步,输入三个系数a,b,c. 第二步,计算△=b2-4ac. 第三步,判断△≥0是否成立.若是,则计 b ? p ? ? , q ? 算 2a 2a ;否则,输出“方程没有 实数根”,结束算法. 第四步,判断△=0是否成立.若是,则输出 x1=x2=p,否则,计算x1=p+q,x2=p-q, 并输出x1,x2.

程序框图:

开始 输入a,b,c △ = b2 - 4 a c △ ≥0 ? 是
b p ?? 2a



q ?

? 2a



△=0? 否 x1=p+q x2=p-q 输出“方程没有 实数根”

输出x1=x2=p

输出x1,x2 结束

例2 某工厂2005年的年生产总值为 200万元,技术革新后预计以后每年的年 生产总值都比上一年增长5%.设计一个程 序框图,输出预计年生产总值超过300万 元的最早年份.
算法分析:

第一步, 输入2005年的年生产总值.

第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步.

循环结构:

(1)循环体:设a为某年的年生产总值, t为年生产总值的年增长量,n为年份