第一章算法初步算法与程序框图1算法的概念.ppt

上传人:sccc 文档编号:5293216 上传时间:2023-06-23 格式:PPT 页数:79 大小:873.52KB
返回 下载 相关 举报
第一章算法初步算法与程序框图1算法的概念.ppt_第1页
第1页 / 共79页
第一章算法初步算法与程序框图1算法的概念.ppt_第2页
第2页 / 共79页
第一章算法初步算法与程序框图1算法的概念.ppt_第3页
第3页 / 共79页
第一章算法初步算法与程序框图1算法的概念.ppt_第4页
第4页 / 共79页
第一章算法初步算法与程序框图1算法的概念.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第一章算法初步算法与程序框图1算法的概念.ppt》由会员分享,可在线阅读,更多相关《第一章算法初步算法与程序框图1算法的概念.ppt(79页珍藏版)》请在三一办公上搜索。

1、第一章 算法初步1.1 算法与程序框图1.1.1 算法的概念,高中新课程数学必修,问题提出,1.用计算机解二元一次方程组,.exe,2.在上述解二元一次方程组的过程中,计算机是按照一定的指令来工作的,其中最基础的数学理论就是算法,本节课我们就来学习:,算法的概念,知识探究(一):算法的概念,思考1:在初中,对于解二元一次方程组你学过哪些方法?,思考2:用加减消元法解二元一次方程组 x-2y=-1 2x+y=1 的具体步骤是什么?,加减消元法和代入消元法,思考2:用加减消元法解二元一次方程组 的具体步骤是什么?,+2,得 5x=1.,解,得.,-2,得 5y3.,解,得.,第一步,,第二步,,第

2、三步,,第四步,,第五步,,得到方程组的解为.,第一步,-,得.,第二步,解,得.,第三步,-,得.,第四步,解,得.,思考4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?,思考5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的.,你认为:(1)这些步骤的个数是有限的还是无限 的?,(2)每个步骤是否有明确的计算任务?,思考6:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:

3、,第一步,检验6=3+3,第二步,检验8=3+5,第三步,检验10=5+5,利用计算机无穷地进行下去!请问:这是一个算法吗?,思考7:根据上述分析,你能归纳出算法的概念吗?,在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.,知识探究(二):算法的步骤设计,思考1:如果让计算机判断7是否为质数,如何设计算法步骤?,第一步,用2除7,得到余数1,所以2不能整除7.,第四步,用5除7,得到余数2,所以5不能整除7.,第五步,用6除7,得到余数1,所以6不能整除7.,第二步,用3除7,得到余数1,所以3不能整除7.,第三步,用4除7,得到余数3,所以4不能整除7.,因此,7是质数.,思

4、考2:如果让计算机判断35是否为质数,如何设计算法步骤?,第一步,用2除35,得到余数1,所以2不能整除35.,第二步,用3除35,得到余数2,所以3不能整除35.,第三步,用4除35,得到余数3,所以4不能整除35.,第四步,用5除35,得到余数0,所以5能整除35.,因此,35不是质数.,思考3:整数89是否为质数?如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤?,第一步,用2除89,得到余数1,所以2不能整除89.,第二步,用3除89,得到余数2,所以3不能整除89.,第三步,用4除89,得到余数1,所以4不能整除89.,第八十七步,用88除89,得到余数1,所以88不能

5、 整除89.,因此,89是质数.,思考4:用288逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤.,(1)用i表示288中的任意一个整数,并从2开始取数;,(2)用i除89,得到余数r.若r=0,则89不是质数;若r0,将i用i+1替代,再执行同样的操作;,(3)这个操作一直进行到i取88为止.,你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗?,用i除89,得到余数r;,令i=2;,若r=0,则89不是质数,结束算法;若r0,将i用i+1替代;,判断“i88”是否成立?若是,则89是质数,结束算法;否则,返回第二步.,

6、第一步,,第四步,,第三步,,第二步,,算法设计:,思考5:一般地,判断一个大于2的整数是否为质数的算法步骤如何设计?,第一步,给定一个大于2的整数n;,第二步,令i=2;,第三步,用i除n,得到余数r;,第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示;,第五步,判断“i(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回 第三步.,理论迁移,例 设函数f(x)的图象是一条连续不断的曲线,写出用“二分法”求方程 f(x)=0的一个近似解的算法.,第一步,取函数f(x),给定精确度d.,第二步,确定区间a,b,满足f(a)f(b)0.,

7、第五步,判断a,b的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.,第三步,取区间中点.,第四步,若f(a)f(m)0,则含零点的区间 为a,m,否则,含零点的区间为m,b.,将新得到的含零点的区间仍记为a,b;,对于方程,给定d=0.005.,小结作业,算法是建立在解法基础上的操作过程,算法不一定要有运算结果,问题答案可以由计算机解决设计一个解决某类问题的算法的核心内容是设计算法的步骤,它没有一个固定的模式,但有以下几个基本要求:,(1)符合运算规则,计算机能操作;,(2)每个步骤都有一个明确的计算任务;,(4)步骤个数尽可能少;,(5)每个步骤的语言描述要

8、准确、简明.,(3)对重复操作步骤作返回处理;,作业:P5练习:1,2.,1.1.2 程序框图与算法 的基本逻辑结构,第一课时,问题提出,1.算法的含义是什么?,在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.,2.算法是由一系列明确和有限的计算步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通过程序框图来实现.,程序框图与顺序结构,知识探究(一):算法的程序框图,思考1:“判断整数n(n2)是否为质数”的算法步骤如何?,第一步,给定一个大于2的整数n;,第二步,令i=2;,第三步,用i除

9、n,得到余数r;,第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示;,第五步,判断“i(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回 第三步.,思考2:我们将上述算法用下面的图形表示:,上述表示算法的图形称为算法的程序框图又称流程图,其中的多边形叫做程序框,带方向箭头的线叫做流程线,你能指出程序框图的含义吗?,用程序框、流程线及文字说明来表示算法的图形.,思考3:在上述程序框图中,有4种程序框,2种流程线,它们分别有何特定的名称和功能?,终端框(起止框),输入、输出框,处理框(执行框),判断框,流程线,表示一个算法的起始和结束,表

10、示一个算法输入和输出的信息,赋值、计算,判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”,连接程序框,表示算法步骤的执行顺序,思考4:在逻辑结构上,“判断整数n(n2)是否为质数”的程序框图由几部分组成?,知识探究(二):算法的顺序结构,思考1:任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:,思考2:若一个三角形的三条边长分别为a,b,c,令,则三角形的面积.你能利用这个公式设计一个计算三角形面积的算法步骤吗?,第一步,输入三角形三条边的边长 a,b,c.,第二步,计算.,

11、第三步,计算.,第四步,输出S.,思考3:上述算法的程序框图如何表示?,例1 一个笼子里装有鸡和兔共m只,且鸡和兔共n只脚,设计一个计算鸡和兔各有多少只的算法,并画出程序框图表示.,理论迁移,算法分析:,第一步,输入m,n.,第二步,计算鸡的只数.,第三步,计算兔的只数y=m-x.,第四步,输出x,y.,程序框图:,例2 已知下图是“求一个正奇数的平方加5的值”的程序框图,若输出的数是30,求输入的数n的值.,顺序结构的程序框图的基本特征:,小结作业,(2)各程序框从上到下用流程线依次连接.,(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.,(3)处理框按计算机执行顺序沿流程线依

12、次排列.,作业:P20习题1.1B组:1.,1.1.2 程序框图与算法 的基本逻辑结构,第二课时,问题提出,1.用程序框、流程线及文字说明来表示算法的图形称为程序框图,它使算法步骤显得直观、清晰、简明.其中程序框有哪几种基本图形?它们表示的功能分别如何?,终端框(起止框),输入、输出框,处理框(执行框),判断框,流程线,2.顺序结构是任何一个算法都离不开的基本逻辑结构,在一些算法中,有些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行,这需要我们对算法的逻辑结构作进一步探究.,条件结构与循环结构,知识探究(一):算法的条件结构,思考1:在某些问题的算法中,有些步骤只有在一定条件

13、下才会被执行,算法的流程因条件是否成立而变化.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:,你如何理解这两种程序框图的共性和个性?,思考2:判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?,第二步,判断a+bc,b+ca,c+ab是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.,第一步,输入三个正实数a,b,c.,思考3:你能画出这个算法的程序框图吗?,知识探究(二):算法的循环结构,思考1:在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结

14、构,反复执行的步骤称为循环体,那么循环结构中一定包含条件结构吗?,思考2:某些循环结构用程序框图可以表示为:,这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?,在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.,思考3:还有一些循环结构用程序框图可以表示为:,这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?,在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.,思考4:计算1+2+3+100的值可按如下过程进行:,第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.

15、第100步,4950+100=5050.,我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,100,通过重复操作,上述问题的算法如何设计?,第四步,判断i100是否成立.若是,则输出S,结束算法;否则,返回第二步.,第一步,令i=1,S=0.,第二步,计算S+i,仍用S表示.,第三步,计算i+1,仍用i表示.,思考5:用直到型循环结构,上述算法的程序框图如何表示?,思考6:用当型循环结构,上述算法的程序框图如何表示?,例 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.,理论迁移,算法分

16、析:,第一步,输入三个系数a,b,c.,第二步,计算=b2-4ac.,第三步,判断0是否成立.若是,则计 算;否则,输出“方程没有 实数根”,结束算法.,第四步,判断=0是否成立.若是,则输出 x1=x2=p,否则,计算x1=p+q,x2=p-q,并输出x1,x2.,程序框图:,(3)条件结构和循环结构的程序框图各有两种形式,相互对立统一.,条件结构和循环结构的基本特征:,小结作业,(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.,(2)循环结构中包含条件结构,条件结构中不含循环结构.,作业:P20习题1.1A组:2,3.,1.1.2 程序框图与算法 的基本逻辑结构,

17、第三课时,问题提出,1.算法的基本逻辑结构有哪几种?用程序框图分别如何表示?,顺序结构,条件结构,循环结构,2.在学习上,我们要求对实际问题能用自然语言设计一个算法,再根据算法的逻辑结构画出程序框图,同时,还要能够正确阅读、理解程序框图所描述的算法的含义,这需要我们对程序框图的画法有进一步的理解和认识.,程序框图的画法,知识探究(一):多重条件结构的程序框图,思考1:解关于x的方程ax+b=0的算法步骤如何设计?,第三步,判断b是否为0.若是,则输出“方程的解为任意实数”;否则,输出“方程无实数解”.,第一步,输入实数a,b.,第二步,判断a是否为0.若是,执行第三步;否则,计算,并输出x,结

18、束算法.,思考2:该算法的程序框图如何表示?,思考3:你能画出求分段函数,的值的程序框图吗?,思考3:你能画出求分段函数 的值的程序框图吗?,思考1:用“二分法”求方程 的近似解的算法如何设计?,知识探究(二):混合逻辑结构的程序框图,第一步,令f(x)=x2-2,给定精确度d.,第二步,确定区间a,b,满足f(a)f(b)0.,第三步,取区间中点.,第四步,若f(a)f(m)0,则含零点的区间为a,m;否则,含零点的区间为m,b.将新得到的含零点的区间仍记为a,b.,第五步,判断a,b的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.,思考2:该算法中哪几个步

19、骤可以用顺序结构来表示?这个顺序结构的程序框图如何?,思考3:该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?,思考4:该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示?,思考5:根据上述分析,你能画出表示整个算法的程序框图吗?,知识探究(三):程序框图的阅读与理解,思考1:怎样理解该程序框图中包含的逻辑结构?,思考2:该程序框图中的循环结构属于那种类型?,思考3:该程序框图反映的实际问题是什么?,求12-22+32-42+992-1002的值.,理论迁移,例 画出求三个不同实数中的最大值的程序框图.,小结作业,设计一个算法的程序框图的基本思路:,第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示.,第一步,用自然语言表述算法步骤.,第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框.,作业:P19练习(只要求画出算法的 程序框图).P20习题1.1B组:2.,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号