《程序框图与算法的基本逻辑结构(教学用).ppt》由会员分享,可在线阅读,更多相关《程序框图与算法的基本逻辑结构(教学用).ppt(31页珍藏版)》请在三一办公上搜索。
1、1.1.2 程序框图与算法的基本逻辑结构,紐绅中学,1.算法的概念是什么?,在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.,一、复习回顾,2.算法的步骤 我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性。因此,我们有必要探究使算法的结构更清楚、步骤更直观也更精确的方法。,这个想法可以实现吗?,二、讲授新课,1、程序框图,(1)程序框图的概念,程序框图又称流程图,是一种用程序框、流程线及文字说明来准确、直观地表示算法的图形.,程序框图是算法的一种表现形式,也就是说,一个算法可以用算法的步骤表示,也可以用程序框图表示,所以,通常是先写出算法的步骤,然后再转化为对应的程序
2、框图。,(2)构成程序框图的图形符号及其功能,终端框(起止框),输入、输出框,处理框(执行框),判断框,表示一个算法的起始和结束,表示一个算法输入和输出的信息,赋值、计算,判断某一条件是否成立成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.,流程线,连接程序框,连结点,连接程序框图的两部分,一个完整的程序框图,一定是以起止框表示开始,同时又以起止框表示结束,流程线是带有方向的箭头,用以连接程序框,直观的表示算法的流程。在程序框图中,任意两个程序框图之间都存在流程线;除起止框外,任意一个程序框都只有一条流程线“流进”输入输出框、处理框都只有一条流程线“流出”但是判断框一定是两条流程
3、线“流出”,例如:在节中判断“整数n(n2)是否是质数”的算法,第一步 给定大于2的整数n第二步 令i=2第三步 用i 除n得到余数r第四步 判断“r=0”是否成立.若是,则n不是质数,算法结束;否则,将i的值增加1,仍用i表示.第五步 判断“i(n-1)”是否成立.若是,则n是质数,算法结束;否则,返回第三步,算法步骤:,程序框图:,开始,求n除以i的余数r,i的值增加1仍用i表示,in-1或r=0?,r=0?,结束,输出“n不是质数”,输出“n是质数”,是,是,否,否,1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,大多数流程图符号只有一个进入 点和一个退
4、出点。判断框是具有超过一个退出 点的唯一符号。4、判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类 是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。,学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:,开始,输入n,i=2,求n除以i的余数r,i的值增加1仍用i表示,in-1或r=0?,r=0?,结束,输出“n不是质数”,输出“n是质数”,是,是,否,否,用程序框图表示算法时,算法的逻辑结构展现得非常清楚,顺序结构,循环结构,条件结构,算法的三种基本逻辑结构,你能说出这三种基本逻辑结构的特点吗?,条件
5、结构与循环结构有什么区别和联系?,2、算法的三种基本逻辑结构,顺序结构、条件结构、循环结构。,顺序结构是由若干个依次执行的步骤组成的。这是任何一个算法都离不开的一种基本算法结构。,(1)顺序结构,顺序结构可以用程序框图表示为:,步骤 n,步骤 n+1,例3 已知一个三角形的三边长分别为a,b,c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.,程序框图:,开始,练习1:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.,算法步骤:第一步,输入圆的半径 r.第二步,计算S=r2第三步,输出S.,在算法中,通过对某个条件的判断,根据条件是否成立
6、选择不同流向的算法结构称为条件结构。,(2)条件结构,条件结构可以用程序框图表示为下面两种形式:,满足条件?,步骤A,步骤B,是,否,满足条件?,步骤A,是,否,例4 任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.,算法步骤:第一步,输入3个正实数 a,b,c.第二步,判断 a+bc,a+cb,b+ca是否同时成立?若是,则存在这样的三角形;否则,不存在这样的三角形。,程序框图:,结束,开始,存在这样的三角形,不存在这样的三角形,是,否,练习2:如果学生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”.用程序框图表示这一算法过
7、程.,程序框图:,结束,开始,输出“不及格”,输出“及格”,是,否,例5 设计一个求解一元二次方程,的算法,并画出程序框图表示.,程序框图:,循环结构,循环结构-在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.,反复执行的步骤称为循环体.,注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.,例3:设计一个计算1+2+3+100的值的算法,并画出程序框图.,算法分析:,第1步:0+1=1;第2步:1+2=3;第3步:3+3=6;第4步:6+4=10第100步:4950+1
8、00=5050.,第(i-1)步的结果+i=第i步的结果,各步骤有共同的结构:,为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把第i步表示为 S=S+i,S的初始值为0,i依次取1,2,100,由于i同时记录了循环的次数,所以i称为计数变量.,程序框图:,开始,i=1,S=0,S=S+i,i=i+1,i100?,是,输出S,结束,否,直到型循环结构,开始,i=1,S=0,i100?,是,S=S+i,i=i+1,否,输出S,结束,当型循环结构,变式1:右边的程序框图输出S=?,9,变式2:右边的程序框图,输出S=?,题型一:程序框图的阅读与理解,14,说明:(1)
9、一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.,(2)循环结构分为两种-当型和直到型.,当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;(当条件满足时反复执行循环体),直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(反复执行循环体,直到条件满足),循环结构,直到型循环结构,当型循环结构,顺序结构,用程序框图来表示算法,有三种不同的基本逻辑结构:,条件结构,循环结构,直到型
10、循环结构,例2 某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.,第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.,第一步,输入2005年的年生产总值.,第二步,计算下一年的年生产总值.,算法分析:,(3)控制条件:当“a300”时终止循环.,(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.,(2)初始值:n=2005,a=200.,循环结构:,程序框图:,循环结构:,当型循环结构程序框
11、图,2.(2009浙江卷)某程序框图如图所示,该程序运行后输出的k的值是()A.4B.5C.6D.7,A,若是,则m是根;,探究:画出用二分法求方程x2-2=0的近似根(精确度为0.005)的程序框图.,算法分析:,第一步:令f(x)=x2-2.,因为f(1)0,所以设a=1,b=2.,判断f(m)是否为0.,第四步:判断|a-b|是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步.,是,是,否,程序框图,开始,f(x)=x2-2,输入精确度和初值a,b,a=m,否,b=m,|a-b|或f(m)=0?,输出m,结束,1、掌握程序框的画法和功能。2、了解什么是程序框图,知道学习程序框图的意义。3、掌握顺序结构、条件结构和循环结构的应用,并能解决与这两种结构有关的程序框图的画法。,五、课时小结:,六、作业:全品,