1.1.2程序框图与算法的基本逻辑结构学习目标:1、熟悉程序框图的画法2、掌握条件结构的程序框图的画法3、能用条件结构框图描述实际问题锦山蒙中高二数学一、复习回顾1、算法的概念是什么?在数学中,算法通常是按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。2、自然语言表述一个算法有什么缺点?我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性。因此,我们有必要探究使算法表达更加直观、准确的方法。这个方法是什么吗?二、授新课1、程序框图程序框图又称流程图,是一种用程序框、流程线和文字说明来表示算法的图形。程序框图是算法的一种表现形式。一个算法可以用自然语言表示,也可以用程序框图表示。通常是先写出算法的步骤,然后再转化为对应的程序框图。三、构成程序框图的图形符号及其功能图形符号名称功能表示一个算法的起始与结束输入框输出框表示输入输出操作终端框(起止框)一个完整的程序框图,一定是以起止框表示开始,同时又以起止框表示结束。处理框(执行框)赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”。流程线连接程序框连结点连接程序框图的两部分流程线是带有方向的箭头,用以连接程序框,直观的表示算法的流程。在程序框图中,任意两个程序框图之间都存在流程线;除起止框外,任意一个程序框都只有一条流程线“流进”输入输出框、处理框都只有一条流程线“流出”但是判断框一定是两条流程线“流出”1、下面四个程序框图中,从左到右依次是()•A、输入框、终端框、处理框、判断框•B、终端框、输出框、处理框、判断框•C、输出框、处理框、终端框、判断框•D、处理框、输入框、终端框、判断框•答案:C四、问题训练2、在程序框图中,一个算法的步骤到另一个算法的步骤的连接用()•A、连接点B、判断框•C、流程线D、处理框答案:C1、在1.1.1节中判断“整数n(n2)是否是质数”的算法。算法步骤:•第一步:给定大于2的整数n•第二步:令i=2•第三步:用i除n得到余数r•第四步:判断“r=0”是否成立.若是,则n不是质数,算法结束;否则,将i的值增加1,仍用i表示.•第五步:判断“i(n-1)”是否成立.若是,则n是质数,算法结束;否则,返回第三步。从1.1.1节的算法可以看出,算法步骤有明确的顺序性,而且有些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行。程序框图:开始输入ni=2求n除以i的余数ri的值增加1仍用i表示in-1或r=0?r=0?结束输出“n不是质数”输出“n是质数”是是否否输入一个大于2的整数判断是否为质数i=i+1i≥n或r=0?否是求n除以i的余数输入ni=2n不是质数r=0?n是质数是否尽管不同的算法千差万别,但它们都是由三种基本的逻辑结构构成的。2、程序框图有以下三种不同的逻辑结构:顺序结构条件结构循环结构你能说出这三种基本逻辑结构的特点吗?(1)顺序结构是出现最多的基本结构,它可以单独出现,也可以出现在条件结构和循环结构中。没有判断框。(2)条件结构的主要作用就是表示分类。有判断框。(3)循环结构中一定包含着条件结构,用以控制循环的进程,避免出现“死循环”。有判断框。顺序结构1、含义:顺序结构是由若干个依次执行的步骤组成,是最简单的算法结构,框与框之间从上到下进行。任何算法都离不开顺序结构。2、框图表示步骤n步骤n+1答案:D4、下列说法错误的是()A、终端框是任何流程图都不可少的,它表明程序的开始与结束B、输入、输出框可用在算法中任何需要输入和输出的位置C、算法中要处理的数据或计算,可分别写在不同的处理框内D、有的算法可以不含顺序结构。例1、已知一个三角形的三条边长分别为a,b,c,利用海伦公式——秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.算法分析:第一步:输入三角形三条边长a,b,c.第二步:计算.2cbap第三步:计算.))()((cpbpappS第四步:输出S.程序框图:结束开始输入a,b,c输出s2cbap()()()Sppapbpc写出下图的运行结果。开始输入a,ba=2b=4c=aa=bb=cS=a-b输出S结束答案:S=2一城市在法定工作时间内,每小时工资8元,加班工资是每小时10元,某人一周内工作60小时,其中加班20小时,税率是x%,这人净得工资算法流程图如下:开始输入t=20输出d结束8(60)at10btcab(1%)dcx若这人这周内的将得工资是468元,试求该城市的税率是多少?答案:10%条件结构在算法中,通过对某个条件的判断,根据条件是否成立选择不同流向的算法结构称为条件结构。条件结构可以用程序框图表示为下面两种形式:满足条件?是否满足条件?是否步骤A步骤B步骤A例2、任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.第一步:输入3个正实数a,b,c.第二步:判断a+bc,b+ca,a+cb,是否同时成立.若是,则存在这样的三角形;否则不存在这样的三角形.程序框图:结束开始输入a,b,c存在这样的三角形a+bc,a+cb,b+ca是否同时成立?不存在这样的三角形是否如果学生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”.用程序框图表示这一算法过程.程序框图:结束开始输入A输出“不及格”A60?输出“及格”是否算法步骤:第一步:输入一个学生成绩;第二步:判断这个学生的成绩是否小于60;第三步:若是则成绩不及格,若不是则成绩及格.5,,32=abab、对任意非零实数的运算原理如下图程序框图所示,则()。a+1b输出b-1a输出开始结束?abb-1a输出,ab输入a+1b输出答案:2否是下图是求实数x的绝对值的算法程序框图,则判断框中可填。开始输入x输出x输出-x结束答案:0?0?xx或“”是否61,5xx22x+1,x5、设计求一个函数y=的算法,并3x画出相应的程序框图。5x用自然语言表述为:第一步:输入x;第二步:如果x5,则y=2x+1,如果,则;y=1x23x第三步:输出y;程序框图如下图所示:输入xX5?Y=2x+1输出y开始结束1x2y=3x是否循环结构1.含义:循环结构是指在算法中从某处开始,按照一定的条件反复执行某些步骤的算法结构.反复执行的步骤称为循环体。在科学计算中,有许多有规律的重复计算,如累加求和、累乘求积等问题要用到循环结构.直到型循环结构满足条件?循环体是直到型循环执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,直到条件满足时终止循环.2.框图表示否当型循环结构满足条件?循环体是否当型循环结构在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.例4、设计一算法,求和:1+2+3+…+100.算法步骤:第一步:第二步:第三步:程序框图:100i若成立,则执行第三步;否则,=1i令,s=0.s输出,结束算法。1,ii返回第二步。当型循环结构开始i=1s=0100?i否输出s”结束s=s+i是i=i+1直到循环结构开始s=0i100?结束输出s是i=1s=s+ii=i+1否北京获得了2008年第29届奥林匹克运动会主办权.你知道在申办奥运会的最后阶级,国际奥委会是如何通过投票决定主办权归属的吗?用怎样的算法结构表述上面的操作过程?算法步骤:第一步:投票;第二步:统第一步计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得主办权,执行第三步,否则淘汰得票数最少的城市,返回第一步;第三步:宣布主办城市.开始投票有一个城市得票数超过总票数的一半输出该城市结束淘汰得票数最少的城市YN在许多算法中,需要对问题的条件作出逻辑判断,判断后依据条件是否成立而进行不同的处理方式,这就需要用条件结构来实现算法.2、阅读下面的程序框图,若输出的s=57,则判断框内为()开始S=1,k=1K=k+1s=2s+k输出s结束YN答案:K4?或s57?.3、程序框图的画法2“”x-2=0(X0)根据例2的算法步骤,利用三种基本逻辑结构画出程序框图,表示用二分法求方程的近似解的算法。设计一个算法的程序框图通常要经过以下步骤。第一步:用自然语言表述算法步骤。第二步:确定每个算法步骤所包含的结构,并用相应的程序框图表示,得到该步骤的程序框图。(1)算法步骤中的“第一步”“第二步”和“第三步”可用顺序结构来表示。2()2fxx输入精确度d和初始值a,b2abma=m是否b=mf(a)f(m)0?(2)算法步骤中的“第四步”可以用条件构来表示。(3)算法步骤中的“第五步”包含一个条件结构,这个条件结构与“第三步”“第四步”构成一个循环结构。a-bd或f(m)=0?第三步第四步输出m否是第三步:将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图。小结:1、掌握程序框的画法。2、了解什么是程序框图,知道学习程序框图的意义。3、构成程序框图的图形符号及其功能。4、算法的三种基本逻辑结构的概念和应用。5、算法的三种基本逻辑结构之间的联系和区别。作业:P20习题1.1A组3题。思考:画出解不等式ax+b>0(ab≠0)的程序框图