《112程序框图课件》由会员分享,可在线阅读,更多相关《112程序框图课件(26页珍藏版)》请在金锄头文库上搜索。
1、1.1.2 程序框图算法初步 算法可以用自然语言来算法可以用自然语言来描述,但为使算法的程序描述,但为使算法的程序或步骤表达得更为直观,或步骤表达得更为直观,我们更经常地用图形方式我们更经常地用图形方式来表示它来表示它. .二、新课二、新课 1、程序框图、程序框图 (1)程序框图的概念)程序框图的概念 程程序序框框图图又又称称流流程程图图,是是一一种种用用规规定定的的程程序序框框、流流程程线线及及文文字字说说明明来来准准确确、直直观观地地表示算法的图形。表示算法的图形。 在程序框图中,一个或几个程序框的组在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的合表示算法中的一个
2、步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的流程线将程序框连接起来,表示算法步骤的执行顺序。执行顺序。图形符号图形符号名称名称功能功能终端框终端框(起止框起止框)输入、输入、输出框输出框处理框处理框(执行框执行框)判断框判断框表示一个算法的起始和结束表示一个算法的起始和结束表示一个算法输表示一个算法输入和输出的信息入和输出的信息赋值、计算赋值、计算判判断断某某一一条条件件是是否否成成立立,成成立立时时在在出出口口处处标标明明“是是”或或“Y”,不不成成立立时时标标明明“否否”或或“N”.(2)构成程序框图的图形符号及其作用)构成程序框图的图形符号及其作用流程线流程线连接程序框连接
3、程序框连结点连结点连接程序框图的两部分连接程序框图的两部分6例 “整数整数n(n2)是否是质数是否是质数”的算法的算法自然语言描述图形描述第一步,输入大于第一步,输入大于2 2的整数的整数n n.第三步,用第三步,用i i除除n n,得到余数,得到余数r.r. 第四步,判断第四步,判断“r=0r=0”是否成立是否成立. .若是,则若是,则n n不是质数,结束算法;不是质数,结束算法;否则将否则将i i的值增加的值增加1 1,仍用,仍用i i表示表示. . 第五步,判断第五步,判断“i(n-1)i(n-1)”是否是否成立成立. .若是,则若是,则n n是质数,结束算法是质数,结束算法;否则返回第
4、三步;否则返回第三步. .7第二步,令第二步,令i=2.i=2.7 开始开始输入输入n求求n除以除以i的余数的余数ri=i+1in-1或或r=0?r=0?输出输出n不是质数不是质数输出输出n是质数是质数结束结束否否否否是是是是i=2 开始开始输入输入n求求n除以除以i的余数的余数ri=i+1in-1或或r=0?r=0?输出输出n不是质数不是质数输出输出n是质数是质数结束结束否否否否是是是是i=2顺顺序序结结构构循循环环结结构构条条件件结结构构2、算法的基、算法的基本逻辑结构本逻辑结构 (1)(1)顺序结构:是由若干个依次顺序结构:是由若干个依次执行的步骤组成的。这是任何一执行的步骤组成的。这是
5、任何一个算法都离不开的基本结构。个算法都离不开的基本结构。步骤步骤n步骤步骤n+1例一例一 已知一个三角形的三边长分别为已知一个三角形的三边长分别为a,b,c,利用海,利用海伦伦-秦九韶公式设计一个计算三角形面积的算法,并画秦九韶公式设计一个计算三角形面积的算法,并画出程序框图出程序框图.解解:算法步骤算法步骤如下如下:第一步,输入三角形三边长第一步,输入三角形三边长a,b,c第二步,计算第二步,计算第三步,计算第三步,计算第四步,输出第四步,输出s程序框图程序框图结束结束开始开始输入输入a,b,c输出输出s 练习:练习:1、设计一个算法,求给一个、设计一个算法,求给一个x,求,求f(x)=x
6、2-2的函数值的函数值,并画出程序框图,并画出程序框图 2、设计一个算法,求已知上底、下底和高的梯形的面积,、设计一个算法,求已知上底、下底和高的梯形的面积,并画出程序框图并画出程序框图 (2)(2)条件结构:在一个算法中,条件结构:在一个算法中,经常会遇到一些条件的判断,算经常会遇到一些条件的判断,算法的流程根据条件是否成立有不法的流程根据条件是否成立有不同的流向。条件结构就是处理这同的流向。条件结构就是处理这种过程的结构。种过程的结构。常见的条件结构有下面两种形式:常见的条件结构有下面两种形式:满足条件?满足条件?否否是是步骤步骤A步骤步骤B满足条件?满足条件?否否是是步骤步骤A例例4 任
7、意给定任意给定3个正实数,设计一个算法,判断以这个正实数,设计一个算法,判断以这3个正实数为个正实数为三条边边长的三角形是否存在,并画出这个算法的程序框图三条边边长的三角形是否存在,并画出这个算法的程序框图开始开始输入输入a,b,ca+bc,b+ca.c+ab是否同时是否同时成立?成立?存在这样的三存在这样的三角形角形不存在这样不存在这样的三角形的三角形结束结束否否是是第一步:输入第一步:输入3个正实数个正实数a,b,c第二步:判断第二步:判断a+bc,b+ca,c+ab是否同时成立。若是,则存在是否同时成立。若是,则存在这样的三角形;否则,不存在这样的三这样的三角形;否则,不存在这样的三角形
8、角形6例例5 设计一个求解一元二次方程设计一个求解一元二次方程的算法,并画出程序框图的算法,并画出程序框图11开始开始输入输入a,b,c=b-4ac0?否否是是=0?是是否否x1=p+qx2=p-q输出输出p输出输出x1,x2输出输出“方程没有实数方程没有实数根根”结束结束练习:练习:1、已知函数、已知函数y=x2-1,x02x-2,x0画出程序框图,求给定一个画出程序框图,求给定一个x,计算其函数值。,计算其函数值。2、画程序框图,对于输入、画程序框图,对于输入x的值,输出相应的的值,输出相应的y值值1, 0x1(1)y=0,x0x,x1(2)y=(x+2)2,x04, x=0(x-2)2,
9、x03、设计一个算法,求方程、设计一个算法,求方程ax+b=0(b0)的解,的解,并用程序框图表示并用程序框图表示(3) 循环结构:在一些算法中,经常会出现从某处循环结构:在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构。反复执行的步骤成为这就是循环结构。反复执行的步骤成为循环体循环体。否否是是循环体循环体满足条件?满足条件?满足条件?满足条件?否否是是循环体循环体直到型循环结构直到型循环结构当型循环结构当型循环结构例例6 设计一个计算设计一个计算1+2+3+100的算法,并画出程序框的算法,并画出程序框图图否
10、否是是i100?输出输出S结束结束S=S+ii=i+1开始开始i=1S=0当型循环结构当型循环结构如何用直到型循环结构表示?如何用直到型循环结构表示?这是循环结构的哪种形式?这是循环结构的哪种形式?开始开始i=1S=0S=S+ii=i+1i100?输出输出S结束结束11是是否否直到型循环结构直到型循环结构思思 考考 : 改改 进进 这这 一一 算算 法法 , 表表 示示 输输 出出1,1+2,1+2+3,1+2+3+(n-1)+n(nN*)开始开始i=1S=0输入输入nS=S+ii=i+1输出输出Sin?结束结束11否否是是例例7:某工厂:某工厂2005年的生产总值为年的生产总值为200万元,
11、技术革新后预万元,技术革新后预计以后每年的年生产总值都比上一年增长计以后每年的年生产总值都比上一年增长5%。设计一个程序。设计一个程序框图,输出预计年生产总值超过框图,输出预计年生产总值超过300万元的最早年份。万元的最早年份。算法步骤:算法步骤:第一步,输入第一步,输入2005年的年生产总值年的年生产总值第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.若是,则输出该年的年份;若是,则输出该年的年份;否则,返回第二步否则,返回第二步(1)确定循环体:设)确定循环体:设a为某年的年生产总值,为某年的年生产总值,t为为
12、年生产总值的年增长量,年生产总值的年增长量,n为年份,则循环体为为年份,则循环体为t=0.05aa=a+tn=n+1(2) 初始化变量:若将初始化变量:若将2005年的年生产总值看成计年的年生产总值看成计算的起始点,则算的起始点,则n的初始值为的初始值为2005,a的初始值为的初始值为200(3) 设定循环控制条件:当设定循环控制条件:当“年生产总值超过年生产总值超过300万万元元”时终止循环,所以可通过判断时终止循环,所以可通过判断“a300”是否成立是否成立来控制循环。来控制循环。n=2005a=200开始开始n=2005a=200t=0.05aa=a+ta300?输出输出n结束结束11是是否否图中包含循环结构中的哪图中包含循环结构中的哪一种?一种?直到型循环结构直到型循环结构你能画出当型循环结你能画出当型循环结构的程序框图吗?构的程序框图吗?n=n+1开始开始n=2005a=200a300?输出输出n结束结束n=n+1a=a+tt=0.05a是是否否包含当型循环结构的程包含当型循环结构的程序框图序框图练习:练习:1、设计一个算法求、设计一个算法求12+22+992+1002的值,并画出的值,并画出程序框图程序框图2、设计一个算法求、设计一个算法求S=1+1/3+1/5+1/7+1/9的值的值,并画并画出程序框图。出程序框图。