秦九韶算法与进位制ppt课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

•[例1]用秦九韶算法求多项式f(x)=1+x+0.5x2+0.16667x3+0.04167x4+0.00833x5在x=-0.2时的值.•[解析]可根据秦九韶算法原理,将所给多项式改写,然后由内到外逐次计算即可.•f(x)=1+x+0.5x2+0.16667x3+0.04167x4+0.00833x5=((((0.00833x+0.04167)x+0.16667)x+0.5)x+1)x+1,•而x=-0.2,所以有•v0=a5=0.00833,v1=v0x+a4=0.04,•v2=v1x+a3=0.15867,v3=v2x+a2=0.46827,•v4=v3x+a1=0.90635,v5=v4x+a0=0.81873.•即f(-0.2)=0.81873.•[点评]利用秦九韶算法计算多项式的值,关键是能正确地将所给多项式改写,然后由内向外逐次计算,由于后项计算需用前项的结果,故应认真、细心,确保中间结果的准确性.•求多项式f(x)=x5+5x4+10x3+10x2+5x+1当x=-2时的值.•[解析]先改写多项式,再由内向外计算.•f(x)=x5+5x4+10x3+10x2+5x+1•=((((x+5)x+10)x+10)x+5)x+1.•而x=-2,所以有:•v0=1,v1=v0x+a4=1×(-2)+5=3,•v2=v1x+a3=3×(-2)+10=4,•v3=v2x+a2=4×(-2)+10=2,•v4=v3x+a1=2×(-2)+5=1,•v5=v4x+a0=1×(-2)+1=-1.•即f(-2)=-1.•[例2]1.把二进制数1110011(2)化为十进制数.•2.将8进制数314706(8)化为十进制数,并且编写一个实现该算法的程序.•[解析]1.先把二进制数写成不同位上数字与2的幂的乘积之和的形式,再按照十进制数的运算规则求出结果•1110011(2)=1×26+1×25+1×24+0×23+0×22+1×21+1=115.•2.利用把k进制数化为十进数的一般方法就可以将8进制数314706(8)化为十进制数,然后根据该算法,应用循环结构可以设计程序.•314706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104902.所以,化为十进制数是104902.•8进制数314706(8)中共有6位,因此可令a=314706,k=8,n=6,设计程序如下:•程序运行时输入314706,8,6.•[点评]上述程序可以把任何一个k进制数a(共有n位)转化为十进制数b,只要输入相应的a,k,n的值即可.•把7进制数24005(7)化为十进制数的结果为________.•[答案]2401•[解析]只需将该数写成其各位上的数字与7的幂的乘积之和的形式,再计算即可化为十进制数.•24005(7)=2×74+4×73+0×72+0×71+5=2401,•故七进制数24005(7)化成十进制数为2401.•[例3]1.把十进制数89化为二进制数.•2.将十进制数21化为五进制数.•[解析]1.根据“满二进一”的原则,可以用2连续去除89或所得商,然后取余数—即除2取余法.•用竖式表示为:•∴89=1×26+0×25+1×24+1×23+0×22×0×21+1×20=1011001(2)•2.同1用除5取余法可得:••将十进制数22化为三进制数,并且编写一个实现该算法的程序.•[解析]用除3取余法可得:•此算法程序为:(把十进制数a化为k进制数)•INPUTa,k•i=0•b=0•DO•c=a\k•r=aMODk•b=b+r*10^i•i=i+1•a=c•LOOPUNTILc=0•PRINTb•END•运行时,输入a=22,k=3.•[例4]用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1当x=2时的函数值f(2).•[解析]本例中,有几项不存在,可视这些项的系数为0,如含x5的项可记作0·x5.•∴f(x)=8x7+5x6+0·x5+3x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)·x+3)·x+0)·x+0)·x+2)x+1•按照由内及外的顺序,依次计算一次多项式当x=2时的值:•v0=8;v4=87×2+0=174;•v1=8×2+5=21;v5=174×2+0=348;•v2=21×2+0=42;v6=348×2+2=698;•v3=42×2+3=87;v7=698×2+1=1397.•∴f(2)=1397.•[例5]将五进制数434化为二进制数.•[解析]先将五进制数化为十进制数.•434(5)=4×52+3×51+4×50=119,•再将十进制数119化为二进制数.•则119=1110111(2)•所以434(5)=1110111(2)•[点评]1.k进制之间相互转化可以借助十进制作跳板来进行.•2.将十进制与k进制相互转换的算法结合在一块,就能实现非十进制数之间的转换了.

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功