程序设计公开课最大公约数.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计公开课最大公约数

〖课  题〗最大公约数求解 〖目 标〗 1.知识目标 (1)掌握最大公约数的编程方法 (2)掌握实现算法的基本方法 2.能力目标 逐步培养学生的编程能力、运用知识能力、解决问题的能力。 3.情感目标 通过本节课的内容渗透,培养学生乐于探索编程的不同方法,具有一定的探索精神和创新意识,自主性学习、乐于合作交流、积极主动的学习态度。 〖重点难点〗不同算法的实现 〖课 时〗1课时 〖教学过程〗 一、导入新课 过渡 数学问题是程序设计中的典型题,是高考中出现频率较高的题型之一。 如:从键盘输入一个分数的分子和分母,要求输出其最简分数。 6/12→1/2 同除以6 9/21→3/7 同除以3 [思考] 6、3与分子分母的关系?最大公约数 本题只需求出分子、分母的最大公约数便可解决问题,两数的最大公约数又如何得到呢?——最大公约数、最小公倍数的不同求解 二、理解概念 一、知识点 1、最大公约数:正整数a,b,能同时整除a、b的最大整数(如:8,12的最大公约数4) 2、最小公倍数:正整数a,b,能同时被a、b整除的最小整数(如:8,12的最小公倍数24) 三、分析算法 1.辗转相除 思路:将a,b中的大数作为被除数,小数作为除数,求余数。若余数不为0,把除数作为大数,余数作为小数,再求余数,直到余数为0,则这时的除数为最大公约数。 a b c a b c 8 12 8 15 10 5 12 8 4 10 5 0 8 4 0 算法:① a mod b→c ② 判断c0,若是,则b→a,c→b,计算a mod b→c,返回②, 若不是,循环结束执行③ ③ b中为最大公约数 程序段: int a,b,c,x,y; scanf(“%d%d”,a,b); x=a; y=b; c=a%b; while(c!=0) { a=b; b=c; c=a%b; } printf(“最大公约数为%d,最小公倍数为%d”,b,x*y/b); [思考]程序中画线部分的语句的功能是什么? 2.反复相减 思路:比较a、b,若不相等,则将大数-小数→大数中,如此循环,直到a=b a b a b 8 12 15 10 4 5 10 4 5 算法:① 比较a=b,若不等,大数-小数→大数,循环再比, 若相等,则循环结束,执行② ② a或b为最大公约数。 程序段: x=a;y=b; while(a!=b) if(ab)a=a-b; else b=b-a; printf(“最大公约数为%d,最小公倍数为%d”,b,x*y/b); 3、穷举法 思路:从a,b中小的数开始,依次递减到3,2,1为止,用a和b分别除以它,最先能同时整除a和b的那个数就是最大公约数。 a b 8 7 6 5 4 a b 10 9 8 7 6 5 8 12 15 10 10 15 算法:①比较得出较小的数,放入b中 ②从b to 1,依次除a、b,若能同时整除a/b,则这个数便为两数的最大公约数 程序段: int a,b,c,x,y; scanf(“%d%d”,a,b); if(ab) {a=a+b;b=a-b;a=a-b;} for(i=b;i=1;i--) if(a%i==0b%i==0) break; printf(“最大公约数为%d,最小公倍数为%d”,i,a*b/i); 四、拓展提高 过渡最大公约数的求解在历届的高考题中出现较多,下面我们用它来解决编程输出最简分数的问题。 int a,b,c,x,y; x=

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档