《算法概念学习.pptx》由会员分享,可在线阅读,更多相关《算法概念学习.pptx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、问题提出1.1.用计算机解二元一次方程组.exe2.2.在上述解二元一次方程组的过程中,计算机是按照一定的指令来工作的,其中最基础的数学理论就是算法,本节课我们就来学习:第1页/共22页第2页/共22页知识探究(一):算法的概念思考1:1:在初中,对于解二元一次方程组你学过哪些方法?思考2:用加减消元法解二元一次方程组 x-2y=-1 2x+y=1 的具体步骤是什么?加减消元法和代入消元法思考2:2:用加减消元法解二元一次方程组 的具体步骤是什么?第3页/共22页 +2+2,得 5x=1.5x=1.解,得 .-2-2,得 5y5y3 3.解,得 .第一步,第二步,第三步,第四步,第五步,得到方
2、程组的解为 .第4页/共22页思考3:3:参照上述思路,一般地,解方程组 的基本步骤是什么?第5页/共22页第一步,-,得 .第二步,解,得 .第三步,-,得 .第四步,解,得 .第五步,得到方程组的解为 第6页/共22页思考4:4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?第7页/共22页思考5:5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的.你认为:(1)(1)这些步骤的个数是有限的还是无限 的
3、?(2)(2)每个步骤是否有明确的计算任务?第8页/共22页思考6:6:有人对哥德巴赫猜想“任何大于4 4的偶数都能写成两个质数之和”设计了如下操作步骤:第一步,检验6=3+36=3+3,第二步,检验8=3+58=3+5,第三步,检验10=5+510=5+5,利用计算机无穷地进行下去!请问:这是一个算法吗?第9页/共22页思考7:7:根据上述分析,你能归纳出算法的概念吗?在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.第10页/共22页知识探究(二):算法的步骤设计思考1:1:如果让计算机判断7 7是否为质数,如何设计算法步骤?第一步,用2 2除7 7,得到余数1,1,所以2
4、2不能整除7.7.第四步,用5 5除7 7,得到余数2,2,所以5 5不能整除7.7.第五步,用6 6除7 7,得到余数1,1,所以6 6不能整除7.7.第二步,用3 3除7 7,得到余数1,1,所以3 3不能整除7.7.第三步,用4 4除7 7,得到余数3,3,所以4 4不能整除7.7.因此,7 7是质数.第11页/共22页思考2:2:如果让计算机判断3535是否为质数,如何设计算法步骤?第一步,用2 2除3535,得到余数1,1,所以2 2不能整除35.35.第二步,用3 3除3535,得到余数2,2,所以3 3不能整除35.35.第三步,用4 4除3535,得到余数3,3,所以4 4不能
5、整除35.35.第四步,用5 5除3535,得到余数0,0,所以5 5能整除35.35.因此,3535不是质数.第12页/共22页思考3:3:整数8989是否为质数?如果让计算机判断8989是否为质数,按照上述算法需要设计多少个步骤?第一步,用2 2除8989,得到余数1,1,所以2 2不能整除89.89.第二步,用3 3除8989,得到余数2,2,所以3 3不能整除89.89.第三步,用4 4除8989,得到余数1,1,所以4 4不能整除89.89.第八十七步,用8888除8989,得到余数1,1,所以8888不能 整除89.89.因此,8989是质数.第13页/共22页思考4:4:用2 2
6、8888逐一去除8989求余数,需要8787个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤.(1 1)用i i表示2 28888中的任意一个整数,并从2 2开始取数;(2 2)用i i除8989,得到余数r.r.若r=0r=0,则8989不是质数;若r0r0,将i i用i+1i+1替代,再执行同样的操作;(3 3)这个操作一直进行到i i取8888为止.你能按照这个思路,设计一个“判断8989是否为质数”的算法步骤吗?第14页/共22页用i i除8989,得到余数r r;令i=2i=2;若r=0r=0,则8989不是质数,结束算法;若r0r0,将i i用i+1
7、i+1替代;判断“i i88”88”是否成立?若是,则8989是质数,结束算法;否则,返回第二步.第一步,第四步,第三步,第二步,算法设计:第15页/共22页思考5:5:一般地,判断一个大于2 2的整数是否为质数的算法步骤如何设计?第一步,给定一个大于2 2的整数n n;第二步,令i=2i=2;第三步,用i i除n n,得到余数r r;第四步,判断“r=0”r=0”是否成立.若是,则n n 不是质数,结束算法;否则,将i i 的值增加1 1,仍用i i表示;第五步,判断“i i(n-1)”(n-1)”是否成立,若是,则n n是质数,结束算法;否则,返回 第三步.第16页/共22页理论迁移 例
8、设函数f(x)f(x)的图象是一条连续不断的曲线,写出用“二分法”求方程 f(x)=0f(x)=0的一个近似解的算法.第17页/共22页第一步,第一步,取函数取函数f(x)f(x),给定精确度,给定精确度d.d.第二步,第二步,确定区间确定区间 a,bb,满足,满足f(f(a)f(b)f(b)0.0.第五步,第五步,判断判断 a,b,b的长度是否小于的长度是否小于d d或或f(m)f(m)是否等于是否等于0.0.若是,则若是,则m m是方程的近似解;是方程的近似解;否则,返回第三步否则,返回第三步.第三步,第三步,取区间中点取区间中点 .第四步,若f(f(a)f(m)f(m)0,0,则含零点的
9、区间 为 a,m,m,否则,含零点的区间为mm,b.b.将新得到的含零点的区间仍记为 a,b;,b;第18页/共22页a ab b|a-b|a-b|1 12 21 11 11.51.50.50.51.251.251.51.50.250.251.3751.3751.51.50.1250.1251.3751.3751.437 51.437 50.062 50.062 51.406 251.406 251.437 51.437 50.031 250.031 251.406 251.406 251.421 8751.421 8750.015 6250.015 6251.414 6251.414 625
10、1.421 8751.421 8750.007 812 50.007 812 51.414 062 51.414 062 51.417 968 751.417 968 750.003 906 250.003 906 25对于方程 ,给定d=0.005.d=0.005.第19页/共22页小结作业 算法是建立在解法基础上的操作过程,算法不一定要有运算结果,问题答案可以由计算机解决设计一个解决某类问题的算法的核心内容是设计算法的步骤,它没有一个固定的模式,但有以下几个基本要求:(1)(1)符合运算规则,计算机能操作;符合运算规则,计算机能操作;(2)(2)每个步骤都有一个明确的计算任务每个步骤都有一个明确的计算任务;(4)(4)步骤个数尽可能少步骤个数尽可能少;(5)(5)每个步骤的语言描述要准确、简明每个步骤的语言描述要准确、简明.(3)(3)对重复操作步骤作返回处理对重复操作步骤作返回处理;第20页/共22页作业:P P5 5练习:1 1,2.2.第21页/共22页ks5u精品课件感谢您的观看!第22页/共22页