程序框图与算法的基本逻辑结构(教学用)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功