秦九韶算法与进位制-课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• i=i+1 • a=c • LOOP UNTIL c=0 • PRINT b • END • 运行时,输入a=22,k=3.
• [例4] 用秦九韶算法求多项式f(x)=8x7+ 5x6+3x4+2x+1当x=2时的函数值f(2).
• [解析] 本例中,有几项不存在,可视这些项的 系数为0,如含x5的项可记作0·x5.
•
10、阅读一切好书如同和过去最杰出 的人谈 话。2021/3/52021/3/52021/3/53/5/2021 8:16:44 AM
•
11、越是没有本领的就越加自命不凡 。2021/3/52021/3/52021/3/5M ar-215- Mar-21
•
12、越是无能的人,越喜欢挑剔别人 的错儿 。2021/3/52021/3/52021/3/5Fr iday, March 05, 2021
• 则119=1110111(2) • 所以434(5)=1110111(2)
• [点评] 1.k进制之间相互转化可以借助十进 制作跳板来进行.
• 2.将十进制与k进制相互转换的算法结合在 一块,就能实现非十进制数之间的转换 了.
•
9、有时候读书是一种巧妙地避开思考 的方法 。2021/3/52021/3/5Fr iday, March 05, 2021
• [例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.
• 用竖式表示为:
• ∴ 89 = 1×26 + 0×25 + 1×24 + 1×23 + 0×22×0×21+1×20=1011001(2)
• 2.同1用除5取余法可得: •
• 将十进制数22化为三进制数,并且编写一 个实现该算法的程序.
• [解析] 用除3取余法可得:
• 此算法程序为:(把十进制数a化为k进制数) • INPUT a,k • i=0 • b=0 • DO • c=a\k • r=a MOD k • b=b+r*10^i
• 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化为二进制数.
• 24005(7) = 2×74 + 4×73 + 0×72 + 0×71 + 5 = 2401,
• 故七进制数24005(7)化成十进制数为2401.
• [例3] 1.把十进制数89化为二进制数.
• 2.将十进制数21化为Baidu Nhomakorabea进制数.
• [解析] 1.根据“满二进一”的原则,可 以 用 2 连 续 去 除 89 或 所 得 商 , 然 后 取 余 数—即除2取余法.
• ∴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;
•
13、知人者智,自知者明。胜人者有 力,自 胜者强 。2021/3/52021/3/52021/3/52021/3/53/5/2021
•
14、意志坚强的人能把世界放在手中 像泥块 一样任 意揉捏 。2021年3月5日星期 五2021/3/52021/3/52021/3/5
•
15、最具挑战性的挑战莫过于提升自 我。。2021年3月2021/3/52021/3/52021/3/53/5/2021
• 求多项式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.利用把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,设计程序如下:
• 而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.
• [点评] 利用秦九韶算法计算多项式的值, 关键是能正确地将所给多项式改写,然后 由内向外逐次计算,由于后项计算需用前 项的结果,故应认真、细心,确保中间结 果的准确性.
•
16、业余生活要有意义,不要越轨。2021/3/52021/3/5Marc h 5, 2021
•
17、一个人即使已登上顶峰,也仍要 自强不 息。2021/3/52021/3/52021/3/52021/3/5
谢谢观赏
You made my day!
我们,还在路上……
• [例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,
• 程序运行时输入314706,8,6.
• [点评] 上述程序可以把任何一个k进制数 a(共有n位)转化为十进制数b,只要输入相 应的a,k,n的值即可.
• 把 7 进 制 数 24005(7) 化 为 十 进 制 数 的 结 果 为 ________.
• [答案] 2401
• [解析] 只需将该数写成其各位上的数字与7的 幂的乘积之和的形式,再计算即可化为十进制 数.