程序框图与基本逻辑结构_第1页
程序框图与基本逻辑结构_第2页
程序框图与基本逻辑结构_第3页
程序框图与基本逻辑结构_第4页
程序框图与基本逻辑结构_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序框图与顺序结构程序框图与顺序结构一、复习一、复习回顾回顾1、什么是算法?、什么是算法? 算法通常是指按照算法通常是指按照一定规则一定规则解决解决某一类某一类问题的问题的明确明确和和有限有限的步骤。的步骤。 明确性明确性 有限性有限性 程序性程序性 问题指向性问题指向性2、算法有哪些特征?、算法有哪些特征?3、怎么表示算法?、怎么表示算法?程序框图程序框图3 3.算法的步骤算法的步骤 我们可以用我们可以用自然语言自然语言表述一个算法,但往表述一个算法,但往往往过程复杂,缺乏简洁性过程复杂,缺乏简洁性 因此,我们有必要探究使算法的因此,我们有必要探究使算法的结构更清结构更清楚、步骤更直观也更精

2、确楚、步骤更直观也更精确的方法的方法v这个想法可以实现吗?这个想法可以实现吗? 1.程序框图的概念程序框图的概念程序框图又称流程图,是一种用程序框图又称流程图,是一种用程序框、流程线程序框、流程线及文字说明及文字说明来准确、直观地表示算法的图形来准确、直观地表示算法的图形.一、程序框图:一、程序框图: 程序框图是算法的一种表现形式,也就是说,程序框图是算法的一种表现形式,也就是说,一个算法可以用算法的步骤表示,也可以用程序一个算法可以用算法的步骤表示,也可以用程序框图表示,所以,框图表示,所以,通常是先写出算法的步骤,然通常是先写出算法的步骤,然后再转化为对应的程序框图。后再转化为对应的程序框

3、图。例:判断例:判断“整数整数n (n2)是否是质数是否是质数”的算法的算法算法步骤:程序框图:第一步,给定大于第一步,给定大于2 2的整数的整数n n.第二步,令第二步,令i=2.i=2.第三步,用第三步,用i i除除n n,得到余数,得到余数r.r. 第四步,判断第四步,判断“r=0”r=0”是否成立是否成立. .若是,则若是,则n n不是质数,结束算法;不是质数,结束算法;否则将否则将i i的值增加的值增加1 1,仍用,仍用i i表示表示. . 第五步,判断第五步,判断“ii(n-1n-1)”是是否成立否成立. .若是,则若是,则n n是质数,结束是质数,结束算法;否则返回第三步算法;否

4、则返回第三步. .v2.2.构成程序框图的图形符号及其功能构成程序框图的图形符号及其功能图形符号图形符号名称名称功能功能终端框终端框( (起起止框止框) )输入输出输入输出框框处理框处理框( (执执行框行框) )判断框判断框表示一个算法的表示一个算法的起始和结束起始和结束v表示一个算法表示一个算法输入和输出输入和输出的信息的信息赋值、计算赋值、计算v判断某一条件是否成立判断某一条件是否成立v成立时在出口处标明成立时在出口处标明“是是”或或“Y”Y”不成立时标明不成立时标明“否否”或或“N N”. .流程线流程线连接连接程序框程序框连结点连结点连接程序框图的两部分连接程序框图的两部分 一个完整的

5、程序框图,一个完整的程序框图,一定是一定是以起止以起止框表示开始,框表示开始,同时又以同时又以起止框表示结束起止框表示结束v 流程线是带有方向的箭头,用以连接程序框,直观流程线是带有方向的箭头,用以连接程序框,直观的表示算法的流程。的表示算法的流程。v在程序框图中,在程序框图中,任意两个程序框图之间都存在流程线;任意两个程序框图之间都存在流程线;v除起止框外,任意一个程序框都只有一条流程线除起止框外,任意一个程序框都只有一条流程线“流进流进”v输入输出框、处理框都只有一条流程线输入输出框、处理框都只有一条流程线“流出流出”v但是判断框一定是两条流程线但是判断框一定是两条流程线“流出流出” 如果

6、一个框图需要分开来画,要在断如果一个框图需要分开来画,要在断开处画上连接点,并标出连接的号码。开处画上连接点,并标出连接的号码。例如:判断例如:判断“整数整数n (n2)是否是质数是否是质数”的算法的算法第一步第一步 给定大于给定大于2 2的整数的整数n第二步第二步 令令i =2=2第三步第三步 用用i 除除n得到余数得到余数r第四步第四步 判断判断“r=0=0”是否成立是否成立. .若是,则若是,则n不是质数,算法结束;不是质数,算法结束;否则,将否则,将i的值增加的值增加1 1,仍用,仍用i表示表示. .第五步第五步 判断判断“i(n-1)”是否成立是否成立. .若是,则若是,则n是质数,

7、算法结束;是质数,算法结束;否则,返回第三步否则,返回第三步算法步骤:算法步骤:程序框图程序框图:开始开始输入输入ni =2求求n除以除以i的余数的余数ri的值增加的值增加1 1仍用仍用i表示表示in-1或或r=0?r=0?结束结束输出输出 “n不是质数不是质数”输出输出 “n是质数是质数”是是是是否否否否请输入一个数判断是否为质数结束结束开始开始输入输入ni=2n除以除以i的余数的余数ri=i+1in-1或或r=0?n不是质数不是质数n是质数是质数否否是是是否否r=0?终端框(起止框),终端框(起止框),表示一个算法的起始表示一个算法的起始和结束和结束输入、输出框输入、输出框表示一个算法输入

8、和表示一个算法输入和输出的信息输出的信息结束结束开始开始输入输入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=i+1in-1或或r=0?n

9、不是质数不是质数n是质数是质数否否是是是否否r=0?流程线流程线连接点连接点结束结束开始开始输入输入ni=2n除以除以i的余数的余数ri=i+1in-1或或r=0?n不是质数不是质数n是质数是质数否否是是是否否r=0?1. 流程图的判断框,有一个入口和流程图的判断框,有一个入口和n个出口,则个出口,则n的值为()的值为()(A)1 (B) 2 (C) 3 (D) 42. 下列图形符号表示输入输出框的是()下列图形符号表示输入输出框的是()(A)矩形框矩形框 (B) 平行四边形框平行四边形框(C) 圆角矩形框圆角矩形框 (D) 菱形框菱形框3.下列图形符号表示处理数据或计算框的是()下列图形符号

10、表示处理数据或计算框的是()(A)矩形框矩形框 (B) 平行四边形框平行四边形框(C) 圆角矩形框圆角矩形框 (D) 菱形框菱形框BBA开始开始输入输入ni=2求求n除以除以i的余数的余数ri=i+1in-1或或r=0?结束结束是是否否是是否否r=0?顺序结构顺序结构用程序框图来表示算法,有用程序框图来表示算法,有三种不同的基本逻辑结构:三种不同的基本逻辑结构:条件结构条件结构循环结构循环结构输出输出“n不是质数不是质数”输出输出“n是质数是质数”二、算法的三种基本逻辑结构二、算法的三种基本逻辑结构(1)顺序结构)顺序结构 顺序结构是由若干个顺序结构是由若干个依次执行依次执行的步骤组成的。的步

11、骤组成的。它是任何一个算法都离不它是任何一个算法都离不开的一种基本算法结构。开的一种基本算法结构。 步骤 n步骤n+1示意图示意图依次执行依次执行:只有执行完只有执行完A操作,才能执行操作,才能执行B操作。操作。顺序结构、条件结构、循环结构。顺序结构、条件结构、循环结构。 例例1 已知一个三角形的三边长分别为已知一个三角形的三边长分别为a, b, c,利用海伦利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出程序框图秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示表示.算法步骤:算法步骤:第一步,输入三角形三边长第一步,输入三角形三边长 a,b,c第二步,计算第二步,计算2cb

12、ap第三步,计算第三步,计算c)-b)(p-a)(p-p(ps 第四步,输出第四步,输出s.程序框图:程序框图:结束结束开始开始输入输入a, b, c2cbapc)-b)(p-a)(p-p(ps 输出输出s算法步骤为算法步骤为:第一步,输入圆的半径第一步,输入圆的半径 r . 第二步,计算第二步,计算第三步,输出第三步,输出s.2rs程序框图:程序框图:结束结束开始开始输入输入r输出输出s2rs计算计算 练习练习1:任意给定一个正实数,设计一个算法任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图求以这个数为半径的圆的面积,并画出程序框图表示表示.练习练习2:(1)2:

13、(1)写出图中程序框图的运行结果:写出图中程序框图的运行结果: 开始开始a2b4Sa/bb/a 输出输出S结束结束图中输出图中输出S ;5/2(2)(2)写出下列算法的功能。写出下列算法的功能。 开始开始输入输入a,bda2b2c输出输出c结束结束d左图算法的功能左图算法的功能是是 ; 求两数平方和的算术平方根求两数平方和的算术平方根(2)条件结构条件结构条件结构是指在算法中通过对条件结构是指在算法中通过对某某条件的判断条件的判断, ,根据条件是根据条件是否成立否成立而选择不同流向的算法结构而选择不同流向的算法结构.(.(只能执行其一只能执行其一)符合条件就执行符合条件就执行A,否则执行否则执

14、行B符合条件就执行符合条件就执行A,否则执否则执行条件结构后的步骤行条件结构后的步骤满足条件?满足条件?步骤步骤A步骤步骤B是是否否步骤步骤A满足条件?满足条件?是是否否例例2 任意给定任意给定3个正实数个正实数,设计一个算法设计一个算法,判断以这判断以这3个正实数个正实数为三条边边长的三角形是否存在为三条边边长的三角形是否存在,并画出这个算法的程序框图并画出这个算法的程序框图.算算 法法程序框图程序框图第一步:输入3个正实数a,b,c;开始开始输入输入a,b,ca+bc,a+cb,b+ca是否同时成立是否同时成立?是是 输出输出“存在这存在这样的三角形样的三角形” 输出输出“不存在这不存在这

15、样的三角形样的三角形”否否结束结束第二步:判断a+bc,a+cb,b+ca是否同时成立,若是,则能组成三角形;若否,则组不成三角形.算法步骤:算法步骤:第一步,输入第一步,输入3 3个系数个系数a a,b b,c.c.第二步,计算第二步,计算=b2-4ac.第四步,判断第四步,判断=0=0是否成立是否成立. .若是,则输出若是,则输出 x1=x2=p,否则,计算,否则,计算x1=p+q,x2=p-q, 并输出并输出x1,x2. . 第三步,判断第三步,判断00是否成立是否成立. .若是,则计若是,则计 算算 ;否则,输出;否则,输出“方程没有方程没有 实数根实数根”,结束算法,结束算法. .,

16、22bpqaa 例例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 开始开始程序框图程序框图:输入输入a,b,c= b2- -4ac0?=0?否否x1= p + q输出输出x1,x2结束结束否否是是x2= p - q输出输出x1=x2=p是是输出输出“方程没有方程没有实数根实数根”2bpa 2qa思考:有没有其他画法?例例3 解关于解关于x x的方程的方程ax+b=0ax+b=0的算法步骤如何设计?并画的算法步骤如何设计?并画出程序框图。出程序框图。第三步,判断b是否为0.若是,则输出“方程的解为任意实数”;否则,输出“方程无实数解”.第一步,输入实数a,b.第二

17、步,判断a是否为0.若是,执行第三步;否则,计算 ,并输出x,结束算法.abx开始开始输入输入a,ba=0?是是b=0?输出输出x结束结束输出输出“方程的解为方程的解为任意实数任意实数”是是输出输出“方程无实方程无实数根数根”否否否否abx是是例例4 设计一个求任意数的绝对值的算法设计一个求任意数的绝对值的算法,并画出并画出程序框图程序框图.(0)|(xxxxx当时当 0时)算法分析算法分析:第一步第一步:输入数输入数x;第二步第二步:判断判断x0是否是否成立成立?若是若是,则则|x|=x;若否若否,则则|x|=-x.程序框图程序框图:开始开始输入输入xx0?输出输出x否否输出输出-x结束结束

18、变式训练:画程序框图,对于输入的x值,输出相应的y值.0(0)1(01)(1)xyxx x开始程序框图x0?是y=0否0 x3?y=x-2输出输出yy=4-x否否是是练习练习1、此为某一函数的求值程序图,若输入、此为某一函数的求值程序图,若输入x的值的值为为3,求输入的,求输入的y值值(3)循环结构循环结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体.其程序框图为在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环。在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环。差异差异:循环终止条件不同循环终

19、止条件不同,检验条件是否成立的先后次序也不同检验条件是否成立的先后次序也不同.注意:循环结构中一定包含条件结构.当型循环结构当型循环结构:先判断后执行循环体先判断后执行循环体.直到型循环结构直到型循环结构:先执行循环体后判断条件是否成立先执行循环体后判断条件是否成立.例5:设计一个计算1+2+3+100的值的算法,并画出程序框图.算法分析:第1步:0+1=1; 第2步:1+2=3;第3步:3+3=6; 第4步:6+4=10第100步:4950+100=5050.第(i-1)步的结果+i=第i步的结果各步骤有共同的结构:为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从

20、而把第i步表示为 S=S+iS的初始值为0,i依次取1,2,100,由于i同时记录了循环的次数,所以i称为计数变量.思考思考2:2:用用直到型直到型循环结构,上述算法的循环结构,上述算法的程序框图如何表示?程序框图如何表示?开始开始i=1i100?是是输出输出S结束结束S=0i=i+1S=S+i否否思考思考3:3:用用当型当型循环结构,上述算法的程循环结构,上述算法的程序框图如何表示?序框图如何表示?开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i+1第二步,判断第二步,判断i100i100是否成立是否成立. . 若是,则执行第三步;若是,则执行第三步; 否则,输出否则

21、,输出S S,结束算法,结束算法. .第一步,令第一步,令i=1i=1,S=0.S=0.第三步,计算第三步,计算S+iS+i,仍用,仍用S S表示表示. .第四步,计算第四步,计算i+1i+1,仍用,仍用i i表示,表示, 返回第三步返回第三步. .程序框图:开始i=1S=0S=S+ii=i+1i100?是是输出S结束否否直到直到型循型循环结环结构构开始i=1S=0i100?是是S=S+ii=i+1否否输出S结束当型循环当型循环结构结构( (1)1)确定循环结构的循环变量和初始条件确定循环结构的循环变量和初始条件; ;(2)(2)确定算法中需要反复执行的部分确定算法中需要反复执行的部分, ,即循环体;即循环体;(3)(3)确定循环的终止条件确定循环的终止条件. .循环结构的设计步骤循环结构的设计步骤循环结构的三要素循环结构的三要素循环变量循环变量, ,循环体、循环的终止条件循环体、循环的终止条件. . 例例7.某工厂某工厂2005年的生产总值为年的生产总值为200万元万元,技术革新后预计技术革新后预计以后每年的生产总值比上一年增加以后每年的生产总值比上一年增加5%.设计一个程序框图,输出设计一个程序框图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论