第七章 高二数学算法案例1.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法步骤(自然语言) 程序框图(图形语言) 计算机程序(程序语言) 复习引入 3 15 9 45 [问题1]:在小学,我们已经学过求最大公约数的知识,你能求出18与90的最大公约数吗? 18 90 2 3 ∴18和90的最大公约数是2×3×3=18. 先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来. [问题2]:求8251与6105的最大公约数? 新课讲解 1 5 3 求两个正数8251和6105的最大公约数。 解:8251=6105×1+2146; 6105=2146×2+1813; 2146=1813×1+333; 1813=333×5+148; 333=148×2+37; 148=37×4+0. 则37为8251与6105的最大公约数。 以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。 (8251,6105)=(6105,2146) (6105,2146)=(2146,1813) (2146,1813)=(1813 ,333) (1813,333)=(333,148) (333,148)=(148,37) (148,37)=37 研探新知 一、辗转相除法(欧几里得算法) 1、定义: 所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将除数变被除数,余数变除数,继续上面的除法,直到大数被小数除尽,则这时最后的除数就是原来两个数的最大公约数。 辗转相除法是一个反复执行直到余数等于0停止的算法 [问题3]你能把辗转相除法写成算法步骤吗? 研探新知 第四步,若r=0,则m,n的最大公约数等于m;     否则,返回第二步 辗转相除法求最大公约数算法步骤: 第一步,给定两个正数m,n 第二步,计算m除以n所得到余数r 第三步,m=n,n=r 研探新知 [问题4]:该算法的程序框图如何表示? 开始 输入m,n 求m除以n的余数r m=n n=r r=0? 是 输出m 结束 否 新课讲解 问题5:该程序框图对应的程序如何表述? INPUT m,n DO r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END 开始 输入m,n 求m除以n的余数r m=n n=r r=0? 是 输出m 结束 否 新课讲解 问题6:如果用当型循环结构构造算法,求两个正整数m,n的最大公约数的程序框图和程序分别如何表示? 研探新知 例2 用更相减损术求98与63的最大公约数. 解:由于63不是偶数,把98和63以大数减小数,并辗转相减, 即:98-63=35; 63-35=28; 35-28=7; 28-7=21; 21-7=14; 14-7=7. 所以,98与63的最大公约数是7。 练习2:用更相减损术求两个正数84与72的最大公约数。 (12) 研探新知 辗转相除法与更相减损术的比较: (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主;计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到. 研探新知 思考2:上述求两个正整数的最大公约数的方法称为更相减损术.一般地,用更相减损术求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计? 第一步,给定两个正整数m,n(mn). 第二步,计算m-n所得的差k. 第三步,比较n与k的大小,其中大者用m表 示,小者用n表示. 第四步,若m=n,则m,n的最大公约数等于 m;否则,返回第二步. 研探新知 思考3:该算法的程序框图如何表示? 开始 输入m,n nk? m=n 是 输出m 结束 m≠n? k=m-n 是 否 n=k m=k 否 研探新知 思考4:该程序框图对应的程序如何表述? INPUT m,n WHILE mn k=m-n IF nk THEN m=n n=k ELSE m=k END IF WEND PRINT m END 开始 输入m,n nk? m=n 是 输出m 结束 m≠n? k=m-n 是 否 n=k m=k 否 研探新知 1、分别用辗转相除法和更相减损术求168与93的最大公约数. 辗转相除法:168=93×1+75, 93=75×1+18, 75=18×4+3,

文档评论(0)

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

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

1亿VIP精品文档

相关文档