(2013级课堂用)算法案例.ppt

(2013级课堂用)算法案例.ppt

ID:52465917

大小:661.50 KB

页数:63页

时间:2020-04-07

(2013级课堂用)算法案例.ppt_第1页
(2013级课堂用)算法案例.ppt_第2页
(2013级课堂用)算法案例.ppt_第3页
(2013级课堂用)算法案例.ppt_第4页
(2013级课堂用)算法案例.ppt_第5页
资源描述:

《(2013级课堂用)算法案例.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.3算法案例案例1辗转相除法与更相减损术问题提出1.研究一个实际问题的算法,主要从算法步骤、程序框图和编写程序三方面展开.在程序框图中算法的基本逻辑结构有哪几种?在程序设计中基本的算法语句有哪几种?2.“求两个正整数的最大公约数”是数学中的一个基础性问题,它有各种解决办法,我们以此为案例,对该问题的算法作一些探究.35915【思考1】:在小学,我们已经学过求最大公约数的知识,你能求出18与30的最大公约数吗?183023∴18和30的最大公约数是2×3=6.先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有

2、的除数连乘起来.知识探究(一):辗转相除法【思考2】对于8251与6105这两个数,由于其公有的质因数较大,利用上述方法求最大公约数就比较困难.注意到8251=6105×1+2146,问:8251与6105这两个数的公约数和6105与2146的公约数有什么关系?【思考3】又6105=2146×2+1813,同理,6105与2146的公约数和2146与1813的公约数相等.重复上述操作,你能得到8251与6105这两个数的最大公约数吗?2146=1813×1+333,148=37×4+0.333=148×2+37,1813=333×

3、5+148,8251=6105×1+2146,6105=2146×2+1813,辗转相除法是一个反复执行直到余数等于0停止的步骤,这实际上是一个循环结构。8251=6105×1+21466105=2146×2+18132146=1813×1+3331813=333×5+148333=148×2+37148=37×4+0m=n×q+r用程序框图表示出右边的过程r=mMODnm=nn=rr=0?是否思考4:辗转相除法中的关键步骤是哪种逻辑结构?【思考5】上述求两个正整数的最大公约数的方法称为辗转相除法或欧几里得算法.一般地,用辗转相除

4、法求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,给定两个正整数m,n(m>n).第二步,计算m除以n所得的余数r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.【思考5】该算法的程序框图如何表示?开始输入m,n求m除以n的余数rm=nn=rr=0?是输出m结束否直到型循环结构【思考6】该程序框图对应的程序如何表述?INPUTm,nDOr=mMODnm=nn=rLOOPUNTILr=0PRINTmEND开始输入m,n求m除以n的余数rm=nn=rr

5、=0?是输出m结束否【思考7】如果用当型循环结构构造算法,则用辗转相除法求两个正整数m,n的最大公约数的程序框图和程序分别如何表示?开始输入m,n求m除以n的余数rm=nn>0?否输出m结束是n=rINPUTm,nWHILEn>0r=mMODnm=nn=rWENDPRINTmEND练习1:利用辗转相除法求两数4081与20723的最大公约数.(53)20723=4081×5+318;4081=318×12+265;318=265×1+53;265=53×5+0.知识探究(二):更相减损术思考1:设两个正整数m>n,若m-n=k,则

6、m与n的最大公约数和n与k的最大公约数相等.反复利用这个原理,可求得98与63的最大公约数为多少?98-63=35,14-7=7.21-7=14,28-7=21,35-28=7,63-35=28,思考2:上述求两个正整数的最大公约数的方法称为更相减损术.一般地,用更相减损术求两个正整数m,n的最大公约数,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,给定两个正整数m,n(m>n).第二步,计算m-n所得的差k.第三步,比较n与k的大小,其中大者用m表示,小者用n表示.第四步,若m=n,则m,n的最大公约数等于m;否则,

7、返回第二步.思考3:该算法的程序框图如何表示?开始输入m,nn>k?m=n是输出m结束m≠n?k=m-n是否n=km=k否思考4:该程序框图对应的程序如何表述?INPUTm,nWHILEm<>nk=m-nIFn>kTHENm=nn=kELSEm=kENDIFWENDPRINTmEND开始输入m,nn>k?m=n是输出m结束m≠n?k=m-n是否n=km=k否“更相减损术”在中国古代数学专著《九章算术》中记述为:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之.开始输m,n(m>n)K=0m,n为偶数

8、?K=k+1m=m/2n=n/2d=m-nd<>n?d>n?是否m=nn=dd=m-nm=d是输出2^k*d结束是否否INPUT“m,n=“;m,nIFm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。