《112程序框图与算法的基本逻辑结构(1).ppt》由会员分享,可在线阅读,更多相关《112程序框图与算法的基本逻辑结构(1).ppt(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1.1.2 1.1.2 程序框图与算法程序框图与算法 的基本逻辑结构(的基本逻辑结构(1 1) 任意给定一个大于任意给定一个大于1 1的整数的整数n, n,试设计一个程序或试设计一个程序或步骤对步骤对n n是否为质数做出判定是否为质数做出判定. .算法分析:第一步第一步: :判断判断n n是否等于是否等于2. 2. 若若n=2,n=2,则则n n是质数是质数; ;若若n2,n2,则执行第二步则执行第二步. . 第二步第二步: :依次检验依次检验2(n-1)2(n-1)这些整数是不是这些整数是不是n n的的因素因素, ,即是不是整除即是不是整除n n的数的数. .若有这样的数若有这样的数, ,则
2、则n n不是不是质数质数; ;若没有这样的数若没有这样的数, ,则则n n是质数是质数. . 为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.复习回顾复习回顾开始开始输入输入ni=2求求n除以除以i的余数的余数ri的值增加的值增加1仍用仍用i表示表示in或或r=0?n不是质数不是质数结束结束是是否否是是n是质数是质数否否r=0?设设n n是一个大是一个大于于2 2的整数的整数. .一般用一般用i=i+1i=i+1表表示示. . i=i+1第一步第一步 输入输入n.n.第二步第二步 令令i=2.i=2.第三步第三步 用用i i除除n n得到余数得到余数r.r.第四步第四步
3、i=i+1.i=i+1.第五步第五步 判断判断r=0r=0或或i(n-1)i(n-1)是是否成立否成立. .若是,则退出循环,执若是,则退出循环,执行第六步;否则,返回第三步行第六步;否则,返回第三步. .第六步第六步 判断判断r=0r=0是否成立是否成立. .若若成立,输出成立,输出“n n不是质数不是质数”,结,结束算法;否则,输出束算法;否则,输出“n n是质是质数数”,结束算法,结束算法. .算法步骤算法步骤:用程序框图表示的算法更加用程序框图表示的算法更加简练简练, ,直观直观, ,流向清楚流向清楚.程序框图程序框图又称又称流程图流程图, ,是一种用规定的是一种用规定的图形图形、指向
4、线指向线及及文字说明文字说明来准确、直观地表示算法的来准确、直观地表示算法的图形图形. .通常通常, ,程序框图由程序框和流程线组成程序框图由程序框和流程线组成. .一个或几个程序框的组合表示算法中的一个步骤一个或几个程序框的组合表示算法中的一个步骤; ; 流程线是方向箭头流程线是方向箭头, ,按照算法进行的顺序将程按照算法进行的顺序将程序框连接起来序框连接起来. .基本的程序框和它们各自表示的功能如下基本的程序框和它们各自表示的功能如下: :图形符号图形符号名称名称功能功能终端框终端框( (起止框起止框) )表示一个算法的起始表示一个算法的起始和结束和结束输入、输输入、输出框出框表示一个算法
5、输入和表示一个算法输入和输出的信息输出的信息处理框处理框( (执行框执行框) )判断某一条件是否成立判断某一条件是否成立, ,成立成立时在出口处标明时在出口处标明“是是”或或“Y”Y”;不;不”成立时标明成立时标明“否否”或或“N”.N”.判断框判断框赋值、计算赋值、计算流程线流程线连接程序框连接程序框连接点连接点连接程序框图的两部分连接程序框图的两部分开开 始始输入输入n i=2求求n除以除以i的余数的余数ri=i+1in或或r=0?n不是不是 质数质数结结 束束是是否否是是n是质数是质数 否否r=0?顺序结构顺序结构用程序框图来表示算法,有用程序框图来表示算法,有三种不同的基本逻辑结构:三
6、种不同的基本逻辑结构:条件结构条件结构循环结构循环结构程序框图的三种基本的逻辑结构程序框图的三种基本的逻辑结构顺序结构顺序结构条件结构条件结构循环结构循环结构(1)(1)顺序结构顺序结构-是由若干个依次执行的处理是由若干个依次执行的处理步骤组成的步骤组成的. .这是任何一个算法都离不开的这是任何一个算法都离不开的基本结构基本结构. .例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.算法分析算法分析: :第一步第一步:计算计算p的值的值.第二步第二步:由海伦由海伦-秦九韶公式求出三角形的面积秦九韶公式求出三角形的面积S.第三步第
7、三步:输出输出S的值的值.已知三角形三边长分别为已知三角形三边长分别为a,b,ca,b,c, ,则三角形则三角形的面积为的面积为其中其中 这个公式被称为海伦这个公式被称为海伦秦九韶公式秦九韶公式. .()()()Sp papbpc2abcp返回返回程序框图程序框图:开始开始2342p (2)(3)(4)Sp ppp输出输出 S结束结束画出画出: :已知三角形的三已知三角形的三边长边长a,b,ca,b,c, ,求它的面积求它的面积的程序框图的程序框图. .开始开始2abcp()()()Sp papbpc输出输出S结束结束输入输入a,b,c(2)(2)条件结构条件结构-在一个算法中在一个算法中,
8、,经常会遇到一些条经常会遇到一些条件的判断件的判断, ,算法的流向根据条件是否成立有不同算法的流向根据条件是否成立有不同的流向的流向. .条件结构就是处理这种过程的结构条件结构就是处理这种过程的结构. .例例2: 2:任意给定任意给定3 3个正实数个正实数, ,设计一个算法设计一个算法, ,判断分别以这判断分别以这3 3个数为三边边长的三角形是否存在个数为三边边长的三角形是否存在. .画出这个算法的程画出这个算法的程序框图序框图. .算法分析算法分析: :第一步第一步: :输入输入3 3个正实数个正实数a,b,ca,b,c; ;第二步第二步: :判断判断a+bc,a+cb,b+ca+bc,a+
9、cb,b+caa是否同时成立是否同时成立, ,若是若是, ,则则能组成三角形能组成三角形; ;若否若否, ,则组不成三角形则组不成三角形. .程序框图程序框图:开始开始输入输入a,b,ca+bc,a+cb,b+ca+bc,a+cb,b+caa是否是否同时成立同时成立? ?是是 存在这样的存在这样的三角形三角形 不存在这样的不存在这样的三角形三角形否否结结 束束例例. .画程序框图画程序框图, ,对于输入的对于输入的x x值值, ,输出相应的输出相应的y y值值. .0(0)1(01)(1)xyxx x开始开始 程序框图程序框图x0?是是y=0否否0 x1?是是y=1否否y=x输出输出 y结结
10、束束输入输入x 是是例例. .设计一个求任意数的绝对值的算法设计一个求任意数的绝对值的算法, ,并画出程并画出程序框图序框图. .0|xxxx x0算法分析算法分析: :第一步第一步: :输入数输入数x; x;第二步第二步: :判断判断x0 x0是是否成立否成立? ?若是若是, ,则则|x|=x;|x|=x;若否若否, ,则则|x|=-x.|x|=-x.程序框图程序框图: :开开 始始输入输入 xx0?输出输出x 否否输出输出 -x结结 束束课堂小结课堂小结步骤步骤n步骤步骤n+1顺序结构顺序结构条件结构条件结构满足条件?满足条件?步骤步骤A步骤步骤B是是否否(1)(1)满足条件?满足条件?步骤步骤A是是否否(2)(2)课堂小结课堂小结作业作业: :