- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第一章 算法初步 * * 引例1:报考大学的步骤 第一步:填高考报名表 第二步:拿到准考证 第三步:参加考试 第四步:填志愿 第五步:得到录取通知书 第六步:到大学报名注册 一、情景引入: * * 引例2:把大象关进冰箱里的过程: 第一步:把冰箱打开 第二步:把大象放进冰箱 第三步:关上冰箱门 * * 先带鸡过河,再带狗,回来的路上把鸡带回来,再把米带过河,最后再把鸡带过河 引例3:一个猎人带一条狗,一只鸡,一袋米过河,每次只能带一样东西过河,如果鸡狗被剩在一起,狗就会吃鸡;如果鸡米被剩在一起,鸡就会吃米。求猎人带这三样东西过河的顺序 * * 广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜的算法,洗衣机的使用说明书是操作洗衣机的算法。 * * 引例4:解方程组 ② ① 第二步:解③得 第一步: ②-①×2,得5y=3 ③ 第三步: ① + ② ×2,得 第四步:得到方程组的解 { ④ * * 例:对于一般的二元一次方程组 试写出解该方程组的步骤。 ② ① * * * * 算法:在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。 * * 算法的特点: 1.程序性(有序性):即算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,而且每一步都是正确无误的,从而组成了一个有着很强逻辑性的步骤序列; 2.明确性:每一步都应该是能有效执行且有确定的结果, 而不应该是模棱两可的; 3.有限性:应能在有限步内解决问题. 4.不唯一性:即求解一个问题的方法不一定是唯一的; 5.普遍性:即很多具体的问题,都可以设计合理的算法去解决。 * * 例题1 (1)设计一个算法,判断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是质数. * * (2)设计一个算法,判断35是否为质数 第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35. 第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35. 第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数. * * 第一步, 第四步, 第三步, 第二步, (3)设计一个算法,判断89是否为质数 * 例题 设计一个算法,判断整数n(n2)是否为质数。 第二步:令i=2. 第三步:用i除n,得到余数r 第一步:给定大于2的整数n; 第四步:判断“r=0”是否成立,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示 第五步:判断“i(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回第三步。 * * 例2.用二分法设计一个求方程x2-2=0是近似根的算法。 算法分析:假设精确度为0.005 第一步:令f(x)=x2-2,给定精确度d; 第二步:确定区间[a,b],满足f(a)f(b)0;因为f (1)0,f (2)0,所以设a=1,b=2; 第三步:令 ,判断f (m)是否为0,若是,则m为所求; 若否,则继续判断f (a)·f (m)大于0还是小于0; * * a b |a-b| 1 2 1 1 1.5 0.5 1.25 1.5 0.25 1.375 1.5 0.125 1.375 1.4375 0.0625 1.40625 1.4375 0.03125 1.40625 1.421875 0.015625 1.4140625 1.421875 0.0078125 1.4140625 10* * 例4.试给出一个判断一元二次方程ax2+bx+c=0解的 个数的算法。 算法: 第一步:输入a、b、c的值. 第二步:计算? =b2-4ac的值.
文档评论(0)