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