1.3算法案例1.ppt.pptVIP

  • 7
  • 0
  • 约1.81千字
  • 约 20页
  • 2016-10-18 发布于湖北
  • 举报
1.3算法案例1.ppt.ppt

算 法 案 例 (第一课时) 本章知识整体认知 热身练习:求最大公约数 1.试用穷举法求18与30的最大公约数? 2.试用短除法求16与24的最大公约数? 怎样求8251和6105的最大公约数? 辗转相除法的关键步骤是哪种逻辑结构? 能否构造算法,求出任意两个正整数m、n的最大公约数? 试画出程序框图、写出程序. 分层作业 辗转相除除法的程序框图与程序 INPUT m,n DO r=mMODn m=n n=r LOOP UNTIL r=0 PRINT m END * * 克拉玛依市高级中学 冯祥杰 dafengadafeng@163.com 算 法 程序框图 程序语句 辗转相除法 更相减损术 秦九韶算法 进位制 自然语言 短除法 步骤:先用两个数的公共质因数连续去除,直到所得的商是两个互质数为止,然后把所有的除数连乘起来. 穷举法(也叫枚举法) 步骤:从两个数中较小的数开始由大到小列举,直到找到公约数就中断列举,得到的公约数便是最大公约数. 复习回顾:如何求两个正整数的最大公约数 问题提出 问题背景: 东西方文化和而不同, 殊途同归 辗转相除法 更相减损术 方法探究:辗转相除法求最大公约数 深入认知: 辗转相除法求最大公约数 1. 辗转相除法(欧几里得算法)算法步骤: 第一步:给定两个正整数m,n 算法分析: 辗转相除法 第二步:计算m除以n的余数r 第三步:赋值 m=n, n=r 第四步:判断余数r是否为0.若为0,输出m为所求;否则回到第二步 程序语句 程序框图 类比认知: 更相减损术 (《九章算术》) 算理: 可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之. 类比认知: 更相减损术 (《九章算术》) 第1步:任意给定两正整数;判断是否都是偶数.若是,则用2约简;否则执行第2步. 第2步:以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个等数或这个等数与约简的数的乘积就是所求的最大公约数. 练:求225与135的最大公约数 试用更相减损术求98与63的最大公约数(greatest common divisor) 方法要点: gcd(98, 63)=gcd(63, 35) =gcd(35, 28)=gcd(28, 7) =gcd(21, 7)=gcd(14, 7) =gcd(7, 7) 辗转相除法 225=135×1+90 135=90×1+45 90=45×2 比较上面的运算可以看出两种方法各有什么特点? 225-135=90 135-90=45 90-45=45 更相减损术 更相减损术是一个反复执行直到减数等于差时停止的步骤 辗转相除法是一个反复执行直到余数等于0时停止的步骤 循 环 结 构 方法对比:比较两种方法,你有什么发现? 练习1 3.求最大公约数的算法本质? 整理回顾 1.问题与方法? 2.解题思想:化归转化 作业 练1:用辗转相除法或更相减损术求下列两数的最大公约数 (1)(123,48) (2)(80,36) (3)(72,168) 3 4 24 小结 程序验证 练2: 分别用辗转相除法及更相减损术求1734和816的最大公约数 102 小结 拓展: 用辗转相除法或者更相减损术求三个数324, 243, 135的最大公约数 27 程序验证 A层: 1.分别用辗转相除法及更相减损术求261和319的最大公约数 2. 用辗转相除法及更相减损术求319, 377, 116的最大公约数 B层: 1. 用当型循环写出辗转相除法求最大公约数的程序框图及程序 2. 对比辗转相除法,写出用更相减损术求最大公约数的框图及程序 C层:利用辗转相除法是否能求出两数的最大公倍数?试设计算法,写出程序框图及程序 克拉玛依市高级中学 冯祥杰 dafengadafeng@163.com QQ:437298041 开始 输入m,n r=mMODn m=n n=r 输出m 结束 否 是 返回 r=0?

文档评论(0)

1亿VIP精品文档

相关文档