《112_程序框图与算法的基本逻辑结构(1)-副本.ppt》由会员分享,可在线阅读,更多相关《112_程序框图与算法的基本逻辑结构(1)-副本.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.1.2 1.1.2 程序框图与算法程序框图与算法 的基本逻辑结构的基本逻辑结构 问题提出问题提出1.1.算法的含义是什么?算法的含义是什么?在数学中,按照一定规则解决某一在数学中,按照一定规则解决某一类问题的明确和有限的步骤类问题的明确和有限的步骤称为算法称为算法.2.2.算法是由一系列明确和有限的计算步算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通加直观、准确的方
2、法,这个想法可以通过过程序框图程序框图来实现来实现.知识探究(一):算法的程序框图知识探究(一):算法的程序框图“判断整数判断整数n n(n n2 2)是否为质数)是否为质数”的算法步骤的算法步骤第一步第一步,给定一个大于,给定一个大于2 2的整数的整数n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余数,得到余数r r;第四步第四步,判断,判断“r=0r=0”是否成立是否成立.若是,则若是,则n n 不是质数,结束算法;否则,将不是质数,结束算法;否则,将i i 的值增加的值增加1 1,仍用,仍用i i表示;表示;第五步第五步,判断,判断“i i(n-1)
3、(n-1)”是否成立,若是,是否成立,若是,则则n n是质数,结束算法;否则,返回是质数,结束算法;否则,返回 第三步第三步.我们可以将上述算法用下面的图形表示:我们可以将上述算法用下面的图形表示:开始开始r=0?输输出出“n是是质质数数”输出输出“n不是质数不是质数”求求n除以除以i的余数的余数i=2输入输入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是结束结束否否否否上述表示算法的图形称为算法的上述表示算法的图形称为算法的程序框程序框图图又称又称流程图流程图,其中的多边形叫做,其中的多边形叫做程序程序框框,带方向箭头的线叫做,带方向箭头的线叫做流程
4、线流程线,你能,你能指出程序框图的含义吗?指出程序框图的含义吗?用程序框、流程线及文字说明来表示算用程序框、流程线及文字说明来表示算法的图形法的图形.结束结束开始开始输入输入ni=2n除以除以i的余数的余数ri=i+1in-1或或r=0?n不是质数不是质数n是质数是质数否否是是是否否r=0?终端框(起止框),终端框(起止框),表示一个算法的起始表示一个算法的起始和结束和结束结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?输入、输出框输入、输出框表示一个算法输入和表示一个算法输入和输出的信息输出的信息结束结束开始输入ni=2n除以i的余数ri
5、=i+1in-1或r=0?n不是质数n是质数否是是否r=0?处理框(执行框)处理框(执行框)赋值、计算赋值、计算结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?判断框判断框判断某一条件是否成立,成判断某一条件是否成立,成立时在出口处标明立时在出口处标明“是是”;不成立时标明不成立时标明“否否”结束结束开始输入ni=2n除以i的余数ri=i+1in-1或r=0?n不是质数n是质数否是是否r=0?流程线流程线连接点连接点名称名称终端框或起止框终端框或起止框名称名称输入、输出框输入、输出框名称名称处理框或执行框处理框或执行框作用作用作用作用作用作
6、用判断框判断框作用作用表示算法的表示算法的起始和结束起始和结束表示算法的输入表示算法的输入和输出的信息和输出的信息赋值、计算赋值、计算判断某一条件是否成立,判断某一条件是否成立,成立在出口处标明成立在出口处标明“是是”或或“Y”不成立标明不成立标明“否否”或或“N”名称名称程序框图程序框图:又称流程图又称流程图,是一种用规定的图形、指向线及文字说明来准确、是一种用规定的图形、指向线及文字说明来准确、直观的表示算法的图形直观的表示算法的图形图形符号图形符号 名名 称称 功功 能能 终端框终端框 (起止框)(起止框)输入、输出输入、输出框框 处理框处理框(执行框)(执行框)判断框判断框 流程线流程
7、线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入和输出的信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立时在判断某一条件是否成立,成立时在出口处标明出口处标明“是是”或或“Y Y”;不成立;不成立时标明时标明“否否”或或“N N”连接程序框,表示算法步骤的连接程序框,表示算法步骤的执行顺序执行顺序 结束结束开始开始输入输入ni=2n除以除以i的余数的余数ri=i+1in-1或或r=0?n不是质数不是质数n是质数是质数否否是是否否r=0?顺序结构顺序结构循环结构循环结构条件结构条件结构 顺序结构及框图表示顺序结构及框图表示1.顺序结构顺序结
8、构:按照步骤按照步骤依次执行依次执行的一个算法的一个算法语句语句A语句语句B2.顺序结构的流程图顺序结构的流程图例例1(1)(1)写出图中程序框图的运行结果:写出图中程序框图的运行结果:开始开始输入输入a,ba2b4Sa/bb/a 输出输出S结束结束图中输出图中输出S ;5/2(2)(2)写出下列算法的功能。写出下列算法的功能。开始开始输入输入a,bda2b2c输出输出c结束结束左图算法的功能左图算法的功能是是 ;求两数求两数平方和的算术平方根平方和的算术平方根例例2 设计一算法:设计一算法:输入圆的半径输入圆的半径,输出圆的面积,并画出流程图输出圆的面积,并画出流程图算法分析:第一步:输入圆
9、的半径输入圆的半径第二步:利用公式利用公式“圆的面圆的面积积=圆周率圆周率(半径的平方)(半径的平方)”计算圆的面积;计算圆的面积;第三步:输出圆的面积。输出圆的面积。开始结束输入半径R计算S=*R*R输出面积S(1)在程序框图中在程序框图中,开始框和结束框不可少;开始框和结束框不可少;(2)在算法过程中,在算法过程中,输出语句是必不可少的输出语句是必不可少的;例例3 3:若一个三角形的三条边长分别为:若一个三角形的三条边长分别为a a,b b,c c,令,令 ,则三角形的面积,则三角形的面积 .你能利用这个公式你能利用这个公式设计一个计算三角形面积的算法步骤吗?设计一个计算三角形面积的算法步
10、骤吗?第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长 a a,b b,c.c.第二步,计算第二步,计算 .第三步,计算第三步,计算 .第四步,输出第四步,输出S.S.上述算法的程序框图如何表示?上述算法的程序框图如何表示?开始开始结束结束输出输出S输入输入a,b,c 练习:一个笼子里装有鸡和兔共练习:一个笼子里装有鸡和兔共m m只,且只,且鸡和兔共鸡和兔共n n只脚,设计一个计算鸡和兔各有多只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示少只的算法,并画出程序框图表示.算法分析:算法分析:第一步,输入第一步,输入m,n.第二步,计算鸡的只数第二步,计算鸡的只数 .第三
11、步,计算兔的只数第三步,计算兔的只数y=m-x.第四步,输出第四步,输出x,y.开始开始结束结束输出输出x,y输入输入m,ny=m-x程序框图:程序框图:知识探究(二):算法的条件结构知识探究(二):算法的条件结构 在某些问题的算法中,有些步骤只在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流有在一定条件下才会被执行,算法的流程因条件是否成立而变化程因条件是否成立而变化.在算法的程序在算法的程序框图中,由若干个在一定条件下才会被框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为执行的步骤组成的逻辑结构,称为条件条件结构结构,用程序框图可以表示为下面两种,用程序框图
12、可以表示为下面两种形式:形式:满足条件?满足条件?步骤步骤A步骤步骤B是是否否满足条件?满足条件?步骤步骤A是是否否你如何理解这两种程序框图的共性和你如何理解这两种程序框图的共性和个性?个性?例例4 4:判断:判断“以任意给定的以任意给定的3 3个正实数为个正实数为三条边边长的三角形是否存在三条边边长的三角形是否存在”的算法的算法步骤如何设计?步骤如何设计?第二步,判断第二步,判断a+ba+b c c,b+cb+c a a,c+ac+a b b是是否同时成立否同时成立.若是,则存在这样的三角若是,则存在这样的三角形;否则,不存在这样的三角形形;否则,不存在这样的三角形.第一步,输入三个正实数第
13、一步,输入三个正实数a a,b b,c.c.你能画出这个算法的程序框图吗?你能画出这个算法的程序框图吗?开始开始输入输入a,b,ca+bc,b+ca,c+ab是是否否同时成立?同时成立?是是存在这样的三角形存在这样的三角形结束结束否否不不存存在在这这样样的的三三角角形形练习:练习:1.就逻辑结构,说出其算法功能开始结束输入xx3?y=x-2输出yy=4-x否否是是开始max=a输入bmaxb?输出max结束max=b是是否否2.此为某一函数的求值程序图,则满足该流程图的函数解析式为()(不能写成分段函数)答案答案:1.求两个数中的最大值求两个数中的最大值.答案答案:2.y=|x-3|+1.知识
14、探究(三):算法的循环结构知识探究(三):算法的循环结构 在算法的程序框图中,由按照一定在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑的条件反复执行的某些步骤组成的逻辑结构,称为结构,称为循环结构循环结构,反复执行的步骤,反复执行的步骤称为称为循环体循环体思考思考:某些循环结构用程序框图可以表示某些循环结构用程序框图可以表示为:为:循环体循环体满足条件?满足条件?是是否否 这种循环结构称为这种循环结构称为直到型循环结构直到型循环结构,你,你能指出直到型循环结构的特征吗?能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条
15、件满足时终止循环.(反复执行循环体反复执行循环体,直到条件满足直到条件满足)思考思考:还有一些循环结构用程序框图可以还有一些循环结构用程序框图可以表示为:表示为:循环体循环体满足条件?满足条件?是是否否这种循环结构称为这种循环结构称为当型循环结构当型循环结构,你能,你能指出当型循环结构的特征吗?指出当型循环结构的特征吗?在每次执行循环在每次执行循环体前,对条件进体前,对条件进行判断,当条件行判断,当条件满足,就执行循满足,就执行循环体,否则终止环体,否则终止循环循环.(当条件当条件满足时反复执满足时反复执行循环体行循环体)思考思考4:4:计算计算1+2+3+1+2+3+100+100的值可按如
16、下过程的值可按如下过程进行:进行:第第1 1步,步,0+1=1.0+1=1.第第2 2步,步,1+2=3.1+2=3.第第3 3步,步,3+3=6.3+3=6.第第4 4步,步,6+4=10.6+4=10.第第100100步,步,4950+100=5050.4950+100=5050.我们用一个累加变量我们用一个累加变量S S表示每一步的计算表示每一步的计算结果,即把结果,即把S+iS+i的结果仍记为的结果仍记为S S,从而把第,从而把第i i步步表示为表示为S=S=S+iS+i,其中,其中S S的初始值为的初始值为0 0,i i依次取依次取1 1,2 2,100100,通过重复操作,上述问题
17、的,通过重复操作,上述问题的算法如何设计?算法如何设计?第四步,判断第四步,判断i i100100是否成立是否成立.若是,若是,则输出则输出S S,结束算法;否则,返回第二,结束算法;否则,返回第二步步.第一步,令第一步,令i=1i=1,S=0.S=0.第二步,计算第二步,计算S+iS+i,仍用,仍用S S表示表示.第三步,计算第三步,计算i+1i+1,仍用,仍用i i表示表示.思考思考:用直到型循环结构,上述算法的程用直到型循环结构,上述算法的程序框图如何表示?序框图如何表示?开始开始i=1i100?是是输出输出S结束结束S=0i=i+1S=S+i否否思考思考:用当型循环结构,上述算法的程序
18、用当型循环结构,上述算法的程序框图如何表示?框图如何表示?开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i+1 例例1 1 设计一个求解一元二次方程设计一个求解一元二次方程axax2 2+bx+c=0+bx+c=0的算法,并画出程序框图表示的算法,并画出程序框图表示.理论迁移理论迁移算法分析算法分析:第一步,输入三个系数第一步,输入三个系数a a,b b,c.c.第二步,计算第二步,计算=b=b2 2-4ac.-4ac.第三步,判断第三步,判断0 0是否成立是否成立.若是,则计若是,则计 算算 ;否则,输出;否则,输出“方程没有方程没有 实数根实数根”,结束算法,结束算
19、法.第四步,判断第四步,判断=0=0是否成立是否成立.若是,则输出若是,则输出 x x1 1=x=x2 2=p=p,否则,计算,否则,计算x x1 1=p+qp+q,x x2 2=p-qp-q,并输出并输出x x1 1,x x2 2.程序框图程序框图:开始开始输入输入a,b,c=b2-4ac0?=0?否否x1=p+q输出输出x1,x2结束结束否否是是x2=p-q输出输出x1=x2=p是是输出输出“方程没有方程没有实数根实数根”例例2 2 某工厂某工厂20052005年的年生产总值为年的年生产总值为200200万元,技术革新后预计以后每年的年万元,技术革新后预计以后每年的年生产总值都比上一年增长
20、生产总值都比上一年增长5%.5%.设计一个程设计一个程序框图,输出预计年生产总值超过序框图,输出预计年生产总值超过300300万万元的最早年份元的最早年份.第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.300.若是,则输出该年的年份;若是,则输出该年的年份;否则,返回第二步否则,返回第二步.第一步,第一步,输入输入20052005年的年生产总值年的年生产总值.第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值.算法分析算法分析:(3 3)控制条件:当)控制条件:当“a a300300”时终止循时终止循环环.(1 1)循环体:设)循环体:设a a为某年的年生产总值
21、,为某年的年生产总值,t t为年生产总值的年增长量,为年生产总值的年增长量,n n为年份,为年份,则则t=0.05at=0.05a,a=a=a+ta+t,n=n+1.n=n+1.(2 2)初始值:)初始值:n=2005n=2005,a=200.a=200.循环结构循环结构:开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束结束输出输出n是是否否程序框图程序框图:(3 3)条件结构和循环结构的程序框图)条件结构和循环结构的程序框图各有两种形式,相互对立统一各有两种形式,相互对立统一.条件结构和循环结构的基本特征:条件结构和循环结构的基本特征:小结作业小结作业(1 1)程序框图中必须有两个起止框,)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判穿插输入、输出框和处理框,一定有判断框断框.(2 2)循环结构中包含条件结构,条件结)循环结构中包含条件结构,条件结构中不含循环结构构中不含循环结构.