1、1.1.2 程序框图与算法的基本逻辑结构,一、程序框图,又称流程图,是一种用程序框、流程线和文字说明来表示算法的图形。,前面我们是用自然语言描述一个算法.为了使得算法的描述更为直观和步骤化,下面介绍另一种描述算法的方法:程序框图,程序框图的通俗解释: 由一些图框和有向箭头构成,表示算法按一定的顺序执行.,连接程序框,流程线,用来根据给定的条件是否满足决定执行两条路径中的某一路径,判断框,赋值、计算,处理框(执行框),表示输入输出操作,输入,输出框,表示一个算法的起始与结束,终端框(起止框),含义,名 称,图形符号,2.对程序框 表示的功能描述正确的一项是:( ).A.表示算法的起始和结束.B.
2、表示算法输入和输出的信息.C.赋值、计算.D. 按照算法顺序连接程序图框.,1.流程图的功能是:.( ).表示算法的起始和结束.表示算法的输入和输出信息.赋值、运算.按照算法顺序连接程序图框.,答案:D,B,练习:,上节课例1:任意给定一个大于2的整数n,试设计一个算法判定n是否为质数.,算法分析:,引例:,第一步、给定大于2的整数n.,第二步、令i=2.,第三步、用n除以i得到余数r.,第四步、判断“r=0”是否成立。若成立,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示。,第五步、判断“in-1” 是否成立.若是,则n是质数,结束算法;否则,返回第三步.,尽管不同的算法千差万别,
3、但它们都是由三种基本的逻辑结构构成的。,3.程序框图有以下三种不同的逻辑结构:,顺序结构,条件结构,循环结构,算法三种基本逻辑结构(顺序结构、条件结构、循环结构)流程图表示,实例,程序演示:,顺序、条件、循环三种基本的逻辑结构:,步骤n,步骤n+1,一、顺序结构1、含义:顺序结构是由若干个依次执行的步骤组成,是最简单的算法结构,框与框之间从上到下进行。任何算法都离不开顺序结构。,2、框图表示,例1、已知一个三角形的三条边长分别为a,b,c,利用海伦公式秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.,算法分析:,第一步:输入三角形三条边长a,b,c.,第二步:计算,第三步:计算,第
4、四步:输出S.,问题引入:北京获得了2008年第29届奥林匹克运动会主办权.你知道在申办奥运会的最后阶级,国际奥委会是如何通过投票决定主办权归属的吗?,用怎样的算法结构表述上面的操作过程?,S1: 投票;S2:统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得主办权,执行S3,否则淘汰得票数最少的城市,返回S1;S3: 宣布主办城市.,开始,投票,有一个城市得票数超过总票 数的一半,输出该城市,结束,淘汰得票数最少的城市,Y,N,在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行不同的处理方式,这就需要用条件结构来实现算法.,二、条件结构,2、框图表示,1、条
5、件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。,满足条件?,步骤B,否,是,步骤A,此形式包含一个判断框,根据给定的条件是否成立而选择执行语句1或语句2,无论条件是否成立,只能执行语句1或语句2之一,不可能执行语句1又执行语句2,也不可能语句1,语句2都不执行.,满足条件?,否,是,步骤A,例2、任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.,第一步:输入3个正实数a,b,c.,第二步:判断a+bc,b+ca,a+cb,是否同时成立.若是,则存在这样的三角形;否则不存在这样的三角形.,例3、设计一个求解一
6、元二次方程 的算法,并画出程序框图表示。,算法分析:,第一步:从1开始将自然数1,2,3,100逐个相加;,第二步:输出累加结果.,1.上边的式子有怎样的规律呢?,2.怎么用程序框图表示呢?,Sum=Sum + i,例4、设计一算法,求和:1+2+3+ +100.,Sum=0Sum=Sum + 1Sum=Sum + 2Sum=Sum + 3Sum=Sum + 100,思考:,在一些算法中,经常会出现从某处开始,反复执行某一处理步骤,这就是循环结构.,1.含义:循环结构是指在算法中从某处开始,按照一定的条件反复执行某些步骤的算法结构.反复执行的步骤称为循环体。,三、循环结构,在科学计算中,有许多
7、有规律的重复计算,如累加求和、累乘求积等问题要用到循环结构.,直到型循环结构,满足条件?,循环体,是,直到型循环执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,直到条件满足时终止循环.,2.框图表示,当型循环结构,满足条件?,循环体,是,否,当型循环结构在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.,算法分析:,第一步:从1开始将自然数1,2,3,100逐个相加;,第二步:输出累加结果.,1.上边的式子有怎样的规律呢?,2.怎么用程序框图表示呢?,Sum=Sum + i,例4、设计一算法,求和:1+2+3+ +100.,Sum=0Sum=Sum + 1Sum=Sum + 2Sum=Sum + 3Sum=Sum + 100,思考:,在一些算法中,经常会出现从某处开始,反复执行某一处理步骤,这就是循环结构.,再见,