算法案例11.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
情境创设 韩信是秦末汉初的著名军事家.据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数,韩信先令士兵排成3列纵队,结果有2人多余,接着下令排成5列纵队,结果又多出3人,随后他又下令改为7列纵队,这次又剩下2人无法成整行.在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333人.众人听了一楞,不知道韩信用什么方法这么快就能得到正确的结果的.今天,我们将以这些古典案例的思想,设计出适宜计算机的运行程序,提高我们对基本算法结构和算法语句在实际中的运用能力. 探究一,辗转相除法 思考1:在小学中我们是如何求出两个正整数的最大公约数的呢? 探究一,辗转相除法 思考2:当两个数的公有质因数较大时,我们怎样去求两个数的最大公约数呢? 辗转相除法:用于求两个正整数的最大公约数的一种算法,是由欧几里得在公元前300年左右首先提出的,因而又叫做欧几里得算法. 定义:所谓的辗转相除法,就是对于给定的两个数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,继续上面的除法,直到大数被小数除尽,则这是较小的数就是原来两个数的最大公约数. 探究二,更相减损术 九章算术 “可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。” 讨论:你能根据更相减损术的算法步骤画出其程序框图并写出程序语句吗? 思考:辗转相除法与更相减损术有什么区别和联系? 区别: 计算上辗转相除法以除法为主,更相减损术以减法为住; 在计算次数上,辗转相除法计算次数相对较少,特别当两个数大小差别较大时计算次数的区别较明显; 从结果输出的时候看,辗转相除法当余数为0时输出除数,更相减损术当差和减数相等时输出差。 联系:都是求最大公约数的方法。因为做一次除法与做若干次减法效果相同,商就是减法的次数,余数就是最后的差,由此可知二者是完全统一的! 例3,求三个数319,377,116的最大公约数(计算,不编程) 辗转相除法 练习: 1,下列说法中正确的是( ) A 辗转相除法是中国古代数学中的算法 B 更相减损术与辗转相除法的算理完全不同 C 辗转相除法与更相减损术相比较,用辗转相除法求最大公约数最优越 D 辗转相除法与更相减损术,在设计程序时,都要用到循环结构。 2,4830与3289的最大公约数为_______ 3,用更相减损术求87与27的最大公约数时,反复相减,直至求出最大公约数,需要进行减法运算的次数是______ 4,用辗转相除法求87与27的最大公约数,需要进行除法运算的次数是_____ 5,46,115,276的最大公约数是____ 6,下面是求115与276的最大公约数的程序,把程序补充完整。 a=115 b=276 DO r=____ a=b b=r LOOP UNTIL r=____ PRINT a END 7,用辗转相除法求176与121的最大公约数,并写出其程序。 8,用更相减损术求204与85的最大公约数,并写出其相应的程序。 探究三、秦九昭算法 思考1,在初中,我们是如何求一个多项式的值的? 思考2,已知一个n 次多项式 f(x)=anxn+an-1xn-1+…+a1x+a0当x=x0时,除了用代入法求解外是否还有更好的方法呢? 探究:以f(x)=a5x5+a4x4+…+a1x+a0为例 秦九昭算法问题: 秦九昭(约1202~1261)是我国南宋时期享誉世界的数学家,在他的代表作《数学九章》中介绍了计算一个n次多项式值的算法,即“秦九昭算法”。它的特点是:通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。 秦九昭算法是求一元多项式值的一种方法,现在它仍是世界上多项式求值最先进的方法,这一成就比西方同样的算法早五六百年,且该算法很容易在计算机上实现! 例题 例1,已知一个5次多项式为f(x)=4x5+2x4+3.5x3-2.6x2+1.7x-0.8用秦九昭算法求这个多项式当x=5时的值 练习:用秦九昭算法计算多项式f(x)=2x4+3x3+5x-4当x=2时的函数值 探究、秦九昭算法分析 阅读书本P38-39 思考:通过阅读秦九昭算法分析,你能说一说它有什么优点吗? 减少了乘法的运算次数,提高了工作效率 易于计算机操作,提高了计算机的精确度 练习 1,用秦九昭算法求多项式f(x)=x4+2x3+3x2+x+1,当x=2时的值时,第一次运算的步骤是( ) A 1×2 B 24 C 2+2 D 1×2+2 2,用秦九昭算法求多项式 f(x)=a3x3+a2x

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档