1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第一章 算法初步,1.1.2,程序框图与算法的基本,逻辑结构,(,二,),问题提出,1.,用程序框、流程线及文字说明来表示算法的图形称为,程序框图,,它使算法步骤显得直观、清晰、简明,.,其中程序框有哪几种基本图形?它们表示的功能分别如何?,终端框 (起止框),输入、输出框,处理框(执行框),判断框,流程线,2.,顺序结构,是任何一个算法都离不开的基本逻辑结构,在一些算法中,有些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行,这需要我们对算法的逻辑结构作进一步探究,.,条件结构与循
2、环结构,知识探究(一):算法的条件结构,思考,1:,在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化,.,在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为,条件结构,,用程序框图可以表示为下面两种形式:,满足条件?,步骤,A,步骤,B,是,否,满足条件?,步骤,A,是,否,你如何理解这两种程序框图的共性和个性?,思考,2:,判断,“,以任意给定的,3,个正实数为三条边边长的三角形是否存在,”,的算法步骤如何设计?,第二步,判断,a+b,c,,,b+c,a,,,c+a,b,是否同时成立,.,若是,则存在这样的三角形;否则,不存在这
3、样的三角形,.,第一步,输入三个正实数,a,,,b,,,c.,思考,3:,你能画出这个算法的程序框图吗?,开始,输入,a,,,b,,,c,a+b,c,,,b+c,a,,,c+a,b,是否同时成立?,是,存在这样的三角形,结束,否,不存在这样的三角形,知识探究(二):算法的循环结构,思考,1:,在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为,循环结构,,反复执行的步骤称为,循环体,,那么循环结构中一定包含条件结构吗?,思考,2:,某些循环结构用程序框图可以表示为:,循环体,满足条件?,是,否,这种循环结构称为,直到型循环结构,,你能指出直到型循环结构的特征吗?,在执行
4、了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环,.,思考,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,表示每一步的计算结果,即把
5、S+i,的结果仍记为,S,,从而把第,i,步表示为,S=,S+i,,其中,S,的初始值为,0,,,i,依次取,1,,,2,,,,,100,,通过重复操作,上述问题的算法如何设计?,第四步,判断,i,100,是否成立,.,若是,则输出,S,,结束算法;否则,返回第二步,.,第一步,令,i=1,,,S=0.,第二步,计算,S+i,,仍用,S,表示,.,第三步,计算,i+1,,仍用,i,表示,.,思考,5:,用直到型循环结构,上述算法的程序框图如何表示?,开始,i=1,i100,?,是,输出,S,结束,S=0,i=i+1,S=,S+i,否,思考,6:,用当型循环结构,上述算法的程序框图如何表示?,
6、开始,i=1,结束,输出,S,否,是,S=0,S=,S+i,i100,?,i=i+1,例,1,设计一个求解一元二次方程,ax,2,+bx+c=0,的算法,并画出程序框图表示,.,理论迁移,算法分析,:,第一步,输入三个系数,a,,,b,,,c.,第二步,计算,=b,2,-4ac.,第三步,判断,0,是否成立,.,若是,则计 算 ;否则,输出,“,方程没有 实数根,”,,结束算法,.,第四步,判断,=0,是否成立,.,若是,则输出,x,1,=x,2,=p,,否则,计算,x,1,=,p+q,,,x,2,=,p-q,,并输出,x,1,,,x,2,.,程序框图,:,开始,输入,a,,,b,,,c,=b
7、2,-,4,a,c,0,?,=0,?,否,x,1,=,p+q,输出,x,1,,,x,2,结束,否,是,x,2,=,p,-,q,输出,x,1,=x,2,=p,是,输出“方程没有实数根”,例,2,某工厂,2005,年的年生产总值为,200,万元,技术革新后预计以后每年的年生产总值都比上一年增长,5%.,设计一个程序框图,输出预计年生产总值超过,300,万元的最早年份,.,第三步,判断所得的结果是否大于,300.,若是,则输出该年的年份;否则,返回第二步,.,第一步,输入,2005,年的年生产总值,.,第二步,计算下一年的年生产总值,.,算法分析,:,(,3,)控制条件:当,“,a,300,”,时
8、终止循环,.,(,1,)循环体:设,a,为某年的年生产总值,,t,为年生产总值的年增长量,,n,为年份,则,t=0.05a,,,a=,a+t,,,n=n+1.,(,2,)初始值:,n=2005,,,a=200.,循环结构,:,开始,n=2005,a,=200,t=0.05,a,a,=,a,+t,n=n+1,a,300,?,结束,输出,n,是,否,程序框图,:,(,3,)条件结构和循环结构的程序框图各有两种形式,相互对立统一,.,条件结构和循环结构的基本特征:,小结作业,(,1,)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框,.,(,2,)循环结构中包含条件结构,条件结构中不含循环结构,.,