111算法的概念2-(精品课件).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 算法初步 1.1 算法与程序框图 1.1.1 算法的概念 高中新课程数学必修③ 1.算法的概念 在数学中算法通常指按照一定规则解决某一类问题的明确和有限的步骤. 1.用自然语言表示,如前面例子。 2.算法的表示方法 2.用程序框图表示。 3.用程序表示。 3.算法的特征 (1)有限性 (2)明确性 (3)有序性 (4) 不唯一性 思考:如何判断一个大于1的整数n是否为质数? 判断方法:用比这个整数小的整数去除n,如果只能被1和它本身整除,则这个n就为质数。 思考1:整数89是否为质数?如果让计算机判断89是否为质数,仿照例1算法需要设计多少个步骤? 第一步,用2除89,得到余数1,所以2不能整除89. 第二步,用3除89,得到余数2,所以3不能整除89. 第三步,用4除89,得到余数1,所以4不能整除89. …… …… …… …… 第八十七步,用88除89,得到余数1,所以88不能 整除89. 因此,89是质数. 思考2:用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤. (1)用i表示2~88中的任意一个整数,并从2开始取数; (2)用i除89,得到余数r. 若r=0,则89不是质数;若r≠0,将i用i+1替代,再执行同样的操作; (3)这个操作一直进行到i取88为止. 你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗? 用i除89,得到余数r; 令i=2; 若r=0,则89不是质数,结束算法;若r≠0,将i用i+1替代; 判断“i88”是否成立?若是,则89是质数,结束算法;否则,返回第二步. 第一步, 第四步, 第三步, 第二步, 算法设计: 思考3:一般地,判断一个大于2的整数是否为质数的算法步骤如何设计? 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示; 第五步,判断“i(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步. 例2 用二分法设计一个求方程 的近似正根的算法,精确度0.05。 算法分析:令f(x)=x2-2=0(x>0),则方程x2-2=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]内的数可以作为方程的近似解。 1 1.5 2 1.25 1.375 2 + 2 + 1.5 + 1 - a b ︱a-b︱ 1 1 2 1 1.5 0.5 1.5 0.25 1.25 1.5 0.125 1.375 …… …… …… 1 2 + 1.5 + 1.25 1.375 - - - 2 + 1.5 + 1.25 1 - - 1 - - 例2 用二分法设计一个求方程 x2 – 2 = 0 的近似根的算法。 旧知识回顾: 用二分法求函数的零点 第四步, 若f(a) ·f(m) 0,则含零点的区间为[a,m]; 第一步, 令 .给定精确度d. 第二步, 给定区间[a,b],满足f(a) ·f(b)<0. 第三步, 取中间点     . 第五步, 判断[a,b]的长度是否小于d或者 f(m)是否等于0. 将新得到的含零点的仍然记为[a,b] .    否则,含零点的区间为[m, b].         若是,则m是方程的近似                解;否则,返回第三步. 解:算法步骤: 1、写出求一元二次方程 的根算法步骤 第一步 计算 如果 方程无解 第三步 输出方程的根或无解的信息 第二步 如果 解:算法步骤: 练习 2.任意给定一个大于1 的正整数n,设计一个算法求出n的所有因数. 算法1:第一步:依次以2~(n-1)为除数去除n,检查余数是否为0,若是,则是n的因数;若不是,则不是n的因数. 第二步:在n的因数中加入1和n. 第三步:输出n的所有因数. 算法

文档评论(0)

夏天 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档