1、第一章算法初步13算法案例13.2秦九韶算法和进位制,理解秦九韶算法与进位制的含义和运算,基础梳理,1秦九韶计算多项式的方法f(x)anxnan1xn1an2xn2a1xa0(anxn1an1xn2an2xn3a1)xa0(anxn2an1xn3a2)xa1)xa0(anxan1)xan2)xa1)xa0.例如:已知一个3次多项式为f(x)x32x2x1,用秦九韶算法求这个多项式当x2时的值,解析:f(x)x32x2x1(x2)x1)x1)1.,2进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制现在最常用的是十进制,
2、通常使用10个阿拉伯数字09进行记数对于任何一个数,我们可以用不同的进位制来表示比如:十进数57,可以用二进制表示为111 001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的,表示各种进位制数一般在数字右下角加注来表示,如111001(2)表示二进制数,34(5)表示5进制数电子计算机一般都使用二进制,下面我们来进行二进制与十进制之间的转化例如:十进制3的二进制表示方法为_3二进制数111(2)在十进制中表示哪个数?,11(2),答案:7,4十进制数是满十进一的原则,同理二进制数是满二进一的原则,要把十进制数9转化为二进制数,常常用如下方式:9123022021
3、120,因此十进制数9的二进制表示法为1 001(2)把十进制数20化为二进制数为()A10 000 (2)B10 100(2)C11 001(2) D10 001(2)5二进制数10 0001(2)等于十进制数_,B,33,自测评价,1关于进位制说法错误的是()A进位制是人们为了计数和运算方便而约定的记数系统B二进制就是满二进一,十进制就是满十进一C满几进一,就是几进制,几进制的基数就是几D为了区分不同的进位制,必须在数的右下角标明基数,D,2在求高次代数方程根的完整算法时,秦九韶算法要比西方同样的算法()A晚五六百年 B早五六百年C早七八百年 D晚七八百年3下列各数中最小的一个是()A11
4、1 111(2) B210(6)C1 000(4) D81(8),B,A,4用秦九韶算法计算多项式f(x)1235x8x26x45x53x6在x4时的值时,V3的值为()A144 B136C57 D34,B,题型一 用秦九韶算法求函数值,例1 用秦九韶算法求多项式f(x)2x63x54x4x32x2x3,当x2时的值,解析:f(x)(2x3)x4)x1)x2)x1)x3)因为V02,V11,V26,V311,V424,V549,V695,所以f(2)95.,点评:当多项式函数中间出现空项时,利用秦九韶算法求函数值,要补上系数为0的相应项当然当一个多项式函数空项很多时,用一般的计算方法可能更简单
5、一些如对于f(x)x62x25,求,f(2)的值,就没有必要再利用秦九韶算法了,直接将x2代入计算即可,跟 踪训 练,1用秦九韶算法计算多项式f(x)3x64x55x46x37x28x1当x0.4时的值时,需要做乘法和加法的次数分别为()A6,6 B5,6 C5,5 D6,5,A,题型二 秦九韶算法的程序框图与程序,例2 设计利用秦九韶算法计算5次多项式f(x)a5x5a4x4a3x3a2x2a1xa0当xx0时的值的程序框图,解析:程序框图如下:,点评:秦九韶算法的步骤:,题型三 十进制数与二进制数的互化,例3 把十进制数53化为二进制数为()A101 101(2) B110 101(2)C
6、110 001(2) D100 001(2),解析:方法一(除二取余法)532261,262130,13261,6230,3211,1201;余数由后往前写得110 101.,方法二答案:B,跟 踪训 练,2写出将k进制数a转换为十进制数(共有n位):aanan1a3a2a1(k)ank(n1)an1k(n2)a3k2a2k1a1k0的算法步骤,解析:算法步骤:第一步,输入a,k和n的值第二步,将b的值初始化为0,i的值初始化为1.第三步,bbaiki1,ii1.第四步,判断in是否成立若是,则执行第五步;否则返回第三步第五步,输出b的值,题型四 十进制数与其他进制数的互化,例4把十进制数53化为八进制数为_,答案:65(8)点评:把一个非十进制数转化为另一种非十进制数,通常是把这个数先转化为十进制数,然后再利用除k取余法,把十进制数转化为k进制数,而在使用除k取余法时要注意三点:(1)必须除到所得的商是0为止;(2)各步所得的余数必须从下到上排列;(3)切记在所求数的右下角标明基数,跟 踪训 练,3把十进制数53化为五进制数为_,解析:答案:203(5),