《1.3算法案例》ppt课件.ppt

上传人:b****3 文档编号:2717946 上传时间:2022-11-09 格式:PPT 页数:43 大小:548KB
下载 相关 举报
《1.3算法案例》ppt课件.ppt_第1页
第1页 / 共43页
《1.3算法案例》ppt课件.ppt_第2页
第2页 / 共43页
《1.3算法案例》ppt课件.ppt_第3页
第3页 / 共43页
《1.3算法案例》ppt课件.ppt_第4页
第4页 / 共43页
《1.3算法案例》ppt课件.ppt_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

《1.3算法案例》ppt课件.ppt

《《1.3算法案例》ppt课件.ppt》由会员分享,可在线阅读,更多相关《《1.3算法案例》ppt课件.ppt(43页珍藏版)》请在冰豆网上搜索。

《1.3算法案例》ppt课件.ppt

算算法法案案例例

(1)1.回顾算法的三种表述:

回顾算法的三种表述:

自然语言自然语言程序框图程序框图程序语言程序语言(三种逻辑结构)(三种逻辑结构)(五种基本语句)(五种基本语句)2.思考:

思考:

小学学过的求两个数最大公约数的方法小学学过的求两个数最大公约数的方法先用两个公有的质因数连续去除,一直先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所除到所得的商是互质数为止,然后把所有的除数连乘起来有的除数连乘起来.辗转相除法(欧几里得算法)辗转相除法(欧几里得算法)观察用辗转相除法求观察用辗转相除法求8251和和6105的最的最大公约数的过程大公约数的过程第一步第一步用两数中较大的数除以较小的数,用两数中较大的数除以较小的数,求得商和余数求得商和余数8251=61051+2146结论:

结论:

8251和和6105的公约数就是的公约数就是6105和和2146的公约数,求的公约数,求8251和和6105的最的最大公约数,只要求出大公约数,只要求出6105和和2146的公约的公约数就可以了。

数就可以了。

第二步第二步对对6105和和2146重复第一步的做法重复第一步的做法6105=21462+1813同理同理6105和和2146的最的最大公约数也是大公约数也是2146和和1813的最大公约数。

的最大公约数。

完整的过程完整的过程8251=61051+21466105=21462+18132146=18131+3331813=3335+148333=1482+37148=374+0例例2用辗转相除法求用辗转相除法求225和和135的最大公约数的最大公约数225=1351+90135=901+4590=452显然显然37是是148和和37的最大公的最大公约数,也就是约数,也就是8251和和6105的最大公约数的最大公约数显然显然45是是90和和45的最大公约数,也就是的最大公约数,也就是225和和135的最大公约数的最大公约数思考思考1:

从上面的两个例子可以看出计算:

从上面的两个例子可以看出计算的规律是什么?

的规律是什么?

11、辗转相除法(欧几里得算法)、辗转相除法(欧几里得算法)

(1)算理:

所谓辗转相除法,就是对于给定)算理:

所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。

若余的两个数,用较大的数除以较小的数。

若余数不为零,则将余数和较小的数构成新的一数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大尽,则这时较小的数就是原来两个数的最大公约数。

公约数。

辗转相除法是一个反复执行直到余数等辗转相除法是一个反复执行直到余数等于于0停止的步骤,这实际上是一个循环结构。

停止的步骤,这实际上是一个循环结构。

8251=61051+21466105=21462+18132146=18131+3331813=3335+148333=1482+37148=374+0m=nqr用程序框图表示出右边的过程用程序框图表示出右边的过程r=mMODnm=nn=rr=0?

是否(22)算法步骤)算法步骤第一步:

输入两个正整数第一步:

输入两个正整数m,n(mn).第二步:

计算第二步:

计算m除以除以n所得的余数所得的余数r.第三步:

第三步:

m=n,n=r.第四步:

若第四步:

若r0,则则m,n的最大公约数等于的最大公约数等于m;否则转到第二步否则转到第二步.第五步:

输出最大公约数第五步:

输出最大公约数m.(33)程序框图)程序框图(44)程序)程序INPUT“m,n=“;m,nDOr=mMODnm=nn=rLOOPUNTILr=0PRINTmEND开始开始输入输入m,nr=mMODnm=nr=0?

是是否否n=r输出输出m结束结束九章算术九章算术更相减损术更相减损术第一步:

第一步:

任意给定两个正整数;判断他们是任意给定两个正整数;判断他们是否都是偶数。

若是,则用否都是偶数。

若是,则用2约简;若不是则执约简;若不是则执行第二步。

行第二步。

第二步:

第二步:

以较大的数减较小的数,接着把所以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。

得的差与较小的数比较,并以大数减小数。

继续这个操作,直到所得的减数和差相等为继续这个操作,直到所得的减数和差相等为止,则这个等数就是所求的最大公约数。

止,则这个等数就是所求的最大公约数。

2、更相减损术、更相减损术

(1)算理)算理:

所谓更相减损术,就是对于:

所谓更相减损术,就是对于给定的两个数,用较大的数减去较小的数,给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等的骤直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数。

两数便为原来两个数的最大公约数。

例例33用更相减损术求用更相减损术求9898与与6363的最大公约数的最大公约数解:

由于解:

由于6363不是偶数,把不是偶数,把9898和和6363以大数减以大数减小数,并辗转相减小数,并辗转相减98986363353563633535282835352828772828772121212177212114147777所以,所以,9898和和6363的的最大公约数等于最大公约数等于77用更相减损术求两个正数用更相减损术求两个正数8484与与7272的的最大公约数最大公约数练习:

练习:

12

(2)算法步骤)算法步骤第一步:

输入两个正整数第一步:

输入两个正整数a,b(ab);第二步:

若第二步:

若a不等于不等于b,则执行第三步;否则转则执行第三步;否则转到第五步;到第五步;第三步:

把第三步:

把a-b的差赋予的差赋予r;第四步:

如果第四步:

如果br,那么把那么把b赋给赋给a,把把r赋给赋给b;否否则把则把r赋给赋给a,执行第二步;,执行第二步;第五步:

输出最大公约数第五步:

输出最大公约数b.(33)程序框图)程序框图(44)程序)程序INPUT“a,b=“;a,bWHILEabr=a-bIFbrTHENa=bb=rELSEa=rENDIFWENDPRINTbEND开始开始输入输入a,bab?

是是否否输出输出b结束结束b=ra=br=a-brb?

a=r否否是是例例4、求、求324、243、135这三个数的最大公这三个数的最大公约数。

约数。

思路分析:

求三个数的最大公约数可以先求出两个思路分析:

求三个数的最大公约数可以先求出两个数的最大公约数,第三个数与前两个数的最大公约数的最大公约数,第三个数与前两个数的最大公约数的最大公约数即为所求。

数的最大公约数即为所求。

比较辗转相除法与更相减损术的区别比较辗转相除法与更相减损术的区别(11)都是求最大公约数的方法,计算上辗)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次少,特别当两个数字大小区别较大时计算次数的区别较明显。

数的区别较明显。

(22)从结果体现形式来看,辗转相除法体)从结果体现形式来看,辗转相除法体现结果是以相除余数为现结果是以相除余数为00则得到,而更相减损则得到,而更相减损术则以减数与差相等而得到术则以减数与差相等而得到小结小结算算法法案案例例

(2)1、求两个数的最大公约数的两种方法分别是(、求两个数的最大公约数的两种方法分别是()和()和()。

)。

2、两个数、两个数21672,8127的最大公约数是的最大公约数是()A、2709B、2606C、2703D、2706案例2、秦九韶算法怎样求多项式怎样求多项式f(x)=xf(x)=x55+x+x44+x+x33+x+x22+x+1+x+1当当x=5x=5时的值呢?

时的值呢?

计算多项式计算多项式()=当当x=5的值的值算法算法1:

因为因为()=所以所以(5)=55555=3125625125255=3906算法算法2:

(5)=55555=5(5555)=5(5(555)=5(5(5(5+5+)+)+)+=5(5(5(5(5+)+)+)+)+算法算法1:

因为因为()=所以所以(5)=55555=3125625125255=3906算法算法2:

(5)=55555=5(5555)=5(5(555)=5(5(5(5+5+)+)+)+=5(5(5(5(5+)+)+)+)+共做了共做了1+2+3+4=10次乘法运算,次乘法运算,5次加法运算次加法运算共做了共做了4次乘法运算,次乘法运算,5次加法运算。

次加法运算。

数书九章数书九章秦九韶算法秦九韶算法设设是一个是一个n次的多项式次的多项式对该多项式按下面的方式进行改写:

对该多项式按下面的方式进行改写:

这是怎样的一种改写方式?

最后的结果是什么?

要求多项式的值,应该先算最内层的一次多项式的要求多项式的值,应该先算最内层的一次多项式的值,即值,即然后,由内到外逐层计算一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即最后的一最后的一项是什么项是什么?

这种将求一个这种将求一个n次多项式次多项式f(x)的值转化成求的值转化成求n个一次多项式的值的方法,称为个一次多项式的值的方法,称为秦九韶算法秦九韶算法。

算法步骤:

算法步骤:

第一步:

输入多项式次数第一步:

输入多项式次数n、最高次项的、最高次项的系数系数an和和x的值的值.第二步:

将第二步:

将v的值初始化为的值初始化为an,将,将i的值的值初始化为初始化为1.第三步:

输入第三步:

输入i次项的系数次项的系数an-i.第四步:

第四步:

v=vx+an-i,i=i+1.第五步:

判断第五步:

判断i是否小于或等于是否小于或等于n,若是,若是,则返回第三步;否则,输出多项式的值则返回第三步;否则,输出多项式的值v。

程序框图:

程序框图:

这是一个在这是一个在秦九韶秦九韶算法中反复执行的算法中反复执行的步骤,因此可用循步骤,因此可用循环结构来实现。

环结构来实现。

输入输入an-i开始开始输入输入n,an,xi=n?

输出输出v结束结束v=vx+an-ii=i+1YNi=1V=an特点:

特点:

通过一次式的反复计算,逐步得出通过一次式的反复计算,逐步得出高次多项式的值,对于一个高次多项式的值,对于一个n次多项式,只次多项式,只需做需做n次乘法和次乘法和n次加法即可。

次加法即可。

例例2已知一个五次多项式为已知一个五次多项式为用秦九韶算法求这个多项式当用秦九韶算法求这个多项式当x=5的值。

的值。

解:

解:

将多项式变形:

将多项式变形:

按由里到外的顺序,依此计算一次多项式当按由里到外的顺序,依此计算一次多项式当x=5时的值:

时的值:

所以,当所以,当x=5时,多项式的值等于时,多项式的值等于17255.2你从中看到了怎样的规律?

怎么用程序框图来描述呢?

程序框图:

开始输入f(x)的系数:

a0,a1,a2,a3,a4a5输入x0n5?

输出v结束v=vx0+a5-nn=n+1YNn=1v=a5这是一个在这是一个在秦九韶算法中秦九韶算法中反复执行的步骤,因此可反复执行的步骤,因此可用循环结构来实现。

用循环结构来实现。

练习、已知多项式练习、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1用用秦九韶算法求这个多项式当秦九韶算法求这个多项式当x=-2时的值时的值的过程中,求的过程中,求算法案例(3)一、进位制一、进位制11、什么是进位制?

、什么是进位制?

22、最常见的进位制是什么?

除此之外还有哪些、最常见的进位制是什么?

除此之外还有哪些常见的进位制?

请举例说明常见的进位制?

请举例说明进位制是人们为了计数和运算方便而约定的记数系统。

进位制是人们为了计数和运算方便而约定的记数系统。

进位制是一种记

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1