03算法案例.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
03算法案例

算法案例 一、目标与策略 明确学习目标及主要的学习方法是提高学习效率的首要条件,要做到心中有数! 学习目标: 理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; 基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序; 了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质; 了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换. 重点难点: 重点:理解辗转相除法与更相减损术求最大公约数的方法;秦九韶算法的特点;各进位制表示数的方法及各进位制之间的转换. 难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言;秦九韶算法的先进性理解;除k去余法的理解以及各进位制之间转换的程序框图的设计. 学习策略: 学习本节课要注意抓住几个算法的关键步骤,理解其中的“算理”. 二、学习与应用 (一)算法是指可以用计算机来解决的某一类问题的 和 ,这些程序或步骤必须是明确和有效的,而且能够在 步之内完成. (二)算法的三种基本结构: , , . (三)基本算法语句有 , , , , . 知识点一:辗转相除法 也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下: 第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0; 第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1; 第三步:若r1=0,则r1为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2; …… 依次计算直至rn=0,此时所得到的rn-1即为所求的最大公约数. 用辗转相除法求最大公约数的程序框图为: 程序: INPUT “m=”;m INPUT “n=”;n IF mn THEN x=m m=n n=x END IF r=m MOD n WHILE r0 r=m MOD n m=n n=r WEND PRINT n END 要点诠释: 辗转相除法的基本步骤是用 的数除以 的数,考虑到算法中的赋值语句可以对同一变量多次赋值,我们可以把较大的数用变量m表示,把较小的数用变量n表示,这样式子就是一个反复执行的步骤,因此可以用 结构实现算法. 知识点二:更相减损术 我国早期也有解决求最大公约数问题的算法,就是更相减损术. 更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之. 翻译出来为: 第一步:任意给出两个正整数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步. 第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数. 理论依据: 由,得与有相同的公约数 更相减损术一般算法: 第一步,输入两个正整数; 第二步,如果,则执行,否则转到; 第三步,将的值赋予; 第四步,若,则把赋予,把赋予,否则把赋予,重新执行; 第五步,输出最大公约数. 程序: INPUT “a=”,a INPUT “b=”,b WHILE ab IF a=b a=a-b; ELSE b=b-a WEND END PRINT b 或者 INPUT “请输入两个不相等的正整数”;a,b i=0 WHILE a MOD 2=0 AND b MOD 2=0 a=a/2 b=b/2 i=i+1 WEND DO IF ba THEN t=a a=b b=t END IF c=a-b a=b b=c LOOP UNTIL a=b PRINT a^i END 要点诠释: 用辗转相除法步骤较少,而更相减损术虽然有些步骤较长,但运算简单. 知识点三:秦九韶计算多项式的方法 令,则有,其中.这样,我们便可由依次求出; 要点诠释: 显然,用秦九韶算法求n次多项式的值时只需要做n次乘法和n次加法运算 知识点四:进位制 进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制.现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数. 对于任何一个数,我

文档评论(0)

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

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

1亿VIP精品文档

相关文档