




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
05-算法与程序框图【知识点】第一章算法初步算法的概念1、算法概念:“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2.算法的特点:(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.程序框图1、程序框图基本概念:(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。(二)构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的操作。2、条件结构:条件结构是指在算法中通过对条件的判断根据条件是否成立而选择不同流向的算法结构。条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。一个判断结构可以有多个判断框。3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类:(1)、一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不成立为止,此时不再执行A框,离开循环结构。ABA成立ABA成立不成立P不成立P成立A注意:1循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构,但不允许“死循环”。2在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。【课堂讲解】1.1.1算法的概念思考2:用加减消元法解二元一次方程组 的具体步骤是什么?第一步,①+②×2,得5x=1.③第二步,第三步,第四步,第五步,思考3:参照上述思路,一般地,解方程组的基本步骤是什么?第一步,第二步,第三步,第四步,第五步,思考4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”。我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?思考5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的。你认为:(1)这些步骤的个数是有限的还是无限的?(2)每个步骤是否有明确的计算任务?思考6:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:第一步,检验6=3+3,第二步,检验8=3+5,第三步,检验10=5+5,……利用计算机无穷地进行下去!请问:这是一个算法吗?思考7:根据上述分析,你能归纳出算法的概念吗?算法的定义:广义的算法是指完成某项工作的方法和步骤,在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.探究(二):算法的步骤设计【例1】(1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.算法如下:⑴第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.⑵类似地,可写出“判断35是否为质数”的算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.变式训练请写出判断n(n>2)是否为质数的算法.【例2】写出用“二分法”求方程x2-2=0(x>0)的近似解的算法分析:令f(x)=x2-2,则方程x2-2=0(x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f(a)·f(b)<0)“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)<0.第三步,取区间中点m=.第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d=0.005时,按照以上算法,可以得到下表.ab|a-b|12111.50.51.251.50.251.3751.50.1251.3751.43750.06251.406251.43750.031251.406251.4218750.0156251.41406251.4218750.00781251.41406251.417968750.00390625于是,开区间(1.4140625,1.41796875)中的实数都是当精确度为0.005时的原方程的近似解。练习1.练习22.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.1.1.2程序框图与算法的基本逻辑结构(一)思考1:“判断整数n(n>2)是否为质数”的算法步骤如何?第一步,给定一个大于2的整数n;第二步,第三步,第四步第五步,思考2:我们将上述算法用下面的图形表示:思考3:在上述程序框图中,有4种程序框,2种流程线,它们分别有何特定的名称和功能?试分别说明。注意:在学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:(1)使用标准的图形符号。(2)框图一般按从上到下、从左到右的方向画。(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的惟一符号。(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。(5)在图形符号内描述的语言要非常简练清楚。探究(二):算法的基本逻辑结构思考1:在逻辑结构上,“判断整数n(n>2)是否为质数”的程序框图由几部分组成?程序框图包含下面三种逻辑结构可以用如下程序框图表示:顺序结构条件结构循环结构探究(三):顺序结构任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构。顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。【例3】已知一个三角形三条边的边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.算法分析:这是一个简单的问题,只需先算出p的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法.算法步骤如下:第一步,输入三角形三条边的边长a,b,c.第二步,计算p=.第三步,计算S=.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.探究(四):条件结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构用程序框图表示条件结构如下.图1图2条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.条件结构的两种形式的区别:一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤【例4】任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.三.随堂练习例5.设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.1.1.2程序框图与算法的基本逻辑结构(二)探究(一):循环结构提出问题(1)请大家举出一些常见的需要反复计算的例子.(2)什么是循环结构、循环体?(3)试用程序框图表示循环结构.(4)指出两种循环结构的相同点和不同点.讨论结果:(1)例如用二分法求方程的近似解、数列求和等.(2)在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.显然,循环结构中一定包含条件结构。(3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理的过程.重复执行的处理步骤称为循环体.循环结构有两种形式:当型循环结构和直到型循环结构.1°当型循环结构,如图(1)所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,返回来再判断条件P是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构.继续执行下面的框图.2°直到型循环结构,如图(2)所示,它的功能是先执行重复执行的A框,然后判断给定的条件P是否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P是否成立.继续重复操作,直到某一次给定的判断条件P时成立为止,此时不再返回来执行A框,离开循环结构.继续执行下面的框图.见示意图:当型循环结构直到型循环结构(4)两种循环结构的不同点:直到型循环结构是程序先进入循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.当型循环结构是在每次执行循环体前,先对条件进行判断,当条件满足时,执行循环体,否则终止循环.两种循环结构的相同点:两种不同形式的循环结构可以看出,循环结构中一定包含条件结构,用于确定何时终止执行循环体.探究(二):应用实例【例6】设计一个计算1+2+……+100的值的算法,并画出程序框图.算法分析:通常,我们按照下列过程计算1+2+……+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来表示第一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100,由于i同时记录了循环的次数,所以也称为计数变量.解决这一问题的算法是:第一步,令i=1,S=0.第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.第三步,S=S+i.第四步,i=i+1,返回第二步.程序框图如右:上述程序框图用的是当型循环结构,如果用直到型循环结构表示,则程序框图如下:点评:这是一个典型的用循环结构解决求和的问题,有典型的代表意义,可把它作为一个范例,仔细体会三种逻辑结构在程序框图中的作用,学会画程序框图.【例7】某厂20XX年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过300万元的最早年份.算法分析:先写出解决本例的算法步骤:第一步,输入20XX年的年生产总值.第二步,计算下一年的年生产总值.第三步,判断所得的结果是否大于300,若是,则输出该年的年份,算法结束;否则,返回第二步.由于“第二步”是重复操作的步骤,所以本例可以用循环结构来实现.我们按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构.(1)确定循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为t=0.05a,a=a+t,n=n+1.(2)初始化变量:若将20XX年的年生产总值看成计算的起始点,则n的初始值为2005,a的初始值为200.(3)设定循环控制条件:当“年生产总值超过300万元”时终止循环,所以可通过判断“a>300”是否成立来控制循环.程序框图如下:三.随堂练习已知有一列数,设计框图实现求该列数前20项的和.1.1.2程序框图与算法的基本逻辑结构(三)讨论结果:(1)顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.框图略.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.框图略.(3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.循环结构有两种形式:当型循环结构和直到型循环结构.框图略.(4)从前面的学习可以看出,设计一个算法的程序框图通常要经过以下步骤:第一步,用自然语言表达算法步骤.第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的程序框表示,得到该步骤的程序框图.第三步,将所有步骤的程序框图用流程线连接起来,并加上终端框,得到表示整个算法的程序框图.二.研探新知探究(一):多重条件结构的程序框图思考1:解关于的方程的算法步骤如何设计?下面流程图是否正确?开始输入x开始输入x输出x结束第一步,输入实数第二步,判断是否为0.若是,执行第三步;否则,输出第三步,判断是否为0.若是,则输出“方程的根为全体实数”;否则,输出“方程无实数根”.程序框图如下:是是是输出x开始输入a,b?结束否?输出“方程的根式全体实数否输出“方程无实数根”探究(二):混合逻辑结构的程序框图思考1:用“二分法”求方程的近似解的算法如何设计?第一步,令,给定精确度.第二步,确定区间,满足。第三步,取区间中点。第四步,若,则含零点的区间为,否则,含零点的区间为,将新得到的含零点的区间仍记为。第五步,判断的长度是否小于,或是否等于0.则是方程的近似解;否则,返回第三步.思考2:该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图如何?思考3:该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?思考4:该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示?思考5:根据上述分析,你能画出表示整个算法的程序框图吗?点评:在用自然语言表述一个算法后,可以画出程序框图,用顺序结构、条件结构和循环结构来表示这个算法,这样表示的算法清楚、简练,便于阅读和交流.探究(三):程序框图的阅读与理解考察下列程序框图:思考1:怎样理解该程序框图中包含的逻辑结构?思考2:该程序框图中的循环结构属于那种类型?思考3:该程序框图反映的实际问题是什么?该问题就是要求1+2+4+……+263的和练习P19练习:设计一个用有理指数幂逼近无理指数幂的算法,画出算法的程序框图1.1.2程序框图与算法的基本逻辑结构(习题课)二.问题讲解(一)顺序结构13.画出求坐标平面内两点,之间距离的程序框图。(二)条件结构14、与之间的函数关系式为:。请你设计一个输入用水量、输出应缴费额的算法,画出程序框图。(三)循环结构13.2000年某地森林面积为1000,且每年增长,到哪一年该地森林面积超过2000。请设计一个算法,并画出程序框图。【作业】1.(2008宁夏、海南,5)如图所示的程序框图,如果输入三个实数a、b、c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的 () A. B. C. D.2.(2007广东,6)如图2-1是某县参加20XX年高考的学生身高条形统计图,从左到右的各条形表示的学生人数依次记为A1、A2、…、A10(如A2表示身高(单元:cm)在内的学生人数)。图2-2是统计图2-1中身高在一定范围的学生人数的一个算法流程图。现要统计身高在160~180cm(含160cm,不含180cm)的学生人数,那么在流程图中的判断框内应填写的条件是 () A. B. C. D.图2-1图2-23.(2008广东,9)阅读图所示的程序框图,若输入,则输出a=,i=。图2-1图2-2(注:框图中的赋值符号“=”也可以写成“←”或“:=”)4.(2008山东,13)执行如图所示的程序框图,若P=0.8,则输出的n=。5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 遵纪守法好学生演讲稿
- 评估技术部工作总结范本
- 酒店客房表扬信15篇
- 采购部经理年度个人工作总结
- 车辆起火安全注意事项
- 中国音乐史与名作欣赏知到课后答案智慧树章节测试答案2025年春吉林师范大学
- 人教河南 九年级 下册 语文 第一单元《 河南中招题型专练》习题课 课件
- 中国插花撒技艺 课件 第三章 撒技法的技艺流程
- 人教版部编版小学语文一年级上册人教版画教学设计教案14
- 钳工基础知识课件
- (二诊)成都市2022级2025届高中毕业班第二次诊断性检测语文试卷(含官方答案)
- 手机摄影教程全套课件
- 2025届宁夏银川一中高三上学期第五次月考英语试题及答案
- 基于核心素养的高中数学“教、学、评”一致性研究
- 空调原理培训课件
- 2024年国网陕西省电力有限公司招聘考试真题
- 2025届上海市虹口区初三一模英语试卷(含答案和音频)
- GB/T 44768-2024配电网线损理论计算导则
- 体育运动中的交流与合作 课件 2024-2025学年人教版(2024)初中体育与健康七年级全一册
- 小学科学湘科版六年级下册全册同步练习含答案
- 大班科学《灯的故事》PPT优质课件
评论
0/150
提交评论