1、第一章 算法初步第2课时 秦九韶算法与进位制1秦九韶算法(1)秦九韶算法原理功能一元 n 次多项式改写后的形式计算方法 用于计算一元n 次多项式的值f(x)anxnan1xn1a1xa0_(anxn2an1xn3a2)xa1)xa0_从括号最内层开始,由内向外逐层计算v1anxan1,v2v1xan2,v3_,vnvn1xa0,这样,求 n 次多项式 f(x)的值就转化为求_的值(anxn1an1xn2a1)xa0(anxan1)xan2)xa1)xa0v2xan3n 个一次多项式(2)算法步骤第一步,输入多项式次数 n、最高次项的系数 an 和 x 的值第二步,将 v 的值初始化为 an,将
2、 i 的值初始化为 n1.第三步,输入 i 次项的系数 ai.第四步,vvxai,ii1.第五步,判断 i 是否大于或等于 0.若是,则返回第三步;否则,输出多项式的值 v.(3)程序框图和相应程序程序框图如图所示,程序如下:2进位制(1)进位制的概念进位制是人们为了_和_方便而约定的记数系统,“满几进一”就是_制,_制的基数就是_常见的进位制有二进制,八进制、十进制,十六进制及六十进制计数运算几进几进几(2)k 进制数的表示方法一般地,若 k 是一个大于 1 的整数,那么以 k 为基数的 k 进制数可以表示为一串数字连写在一起的形式:anan 1an 2a1a0(k)(an,an1,a1,a
3、0N,0ank,0an1,a1,a0k)(3)k 进制数与 10 进制数的转化由 k 进制 anan1an2a1a0(k)转化为 10 进制数anan1an2a1a0anknan1kn1an2kn2a1ka0k0;由 10 进制数转化为 k 进制数除 k 取舍法为了区分不同的进位制,常在数的右下角标明基数,如 110001(2)表示二进制数,37(8)表示八进制数,十进制数一般不标注基数用秦九韶算法求多项式 f(x)7x66x53x22,当 x4时的值时,先算的是()A44B74C444D746解析:选 D.因为 f(x)anxnan1xn1a1xa0(anxan1)xan2)xa1)xa0,
4、所以用秦九韶算法求多项式f(x)7x66x53x22 当 x4 时的值时,先算的是 746.将二进制数 1101(2)转化为十进制数为()A10B11C12D13解析:选 D.本题考查二进制数转化为十进制数的转化方法.1101(2)12312202112013.用秦九韶算法计算多项式 f(x)3x64x55x46x37x28x1 当 x0.4 时的值时,需要做乘法和加法的次数分别是()A6,6B5,6C5,5D6,5答案:A完成不同进位制数之间的转化 119(10)_(6)解析:所以 119(10)315(6)答案:315探究点 1 秦九韶算法及其应用 利用秦九韶算法分别计算 f(x)8x75
5、x63x42x1在 x2 与 x1 时的值,并判断 f(x)在区间1,2上有没有零点【解】因为 f(x)8x75x63x42x1(8x5)x0)x3)x0)x0)x2)x1,且 x2,所以 v08,v182521,v2212042,v3422387,v48720174,v517420348,v634822698,v7698211 397.所以当 x2 时,f(x)1 397.同理可求当 x1 时,f(x)1,又因为 f(1)f(2)1 3970,则 f(x)在区间1,2上有零点利用秦九韶算法求多项式的值的步骤 1.已知 f(x)x52x33x2x1,应用秦九韶算法计算当 x3 时,v3 的值为
6、()A27B11C109D36解析:选 D.将多项式改写成如下形式:f(x)(x0)x2)x3)x1)x1,由内向外依次计算:v01,v11303,v233211,v3113336.选 D.2(2016高考全国卷)中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图执行该程序框图,若输入的 x2,n2,依次输入的 a 为 2,2,5,则输出的 s()A7B12C17D34解析:选 C.法一:(通性通法)第一步,a2,s0222,k1;第二步,a2,s2226,k2;第三步,a5,s62517,k32,跳出循环故输出的 s17.法二:(光速解法)由秦九韶算法的意义可知 sf(x)(0
7、x2)x2x52x22x5,故输出的 sf(2)17.探究点 2 进位制(1)把二进制数 101101(2)化为十进制数为_(2)将十进制数 458 转化为四进制数为_【解析】(1)101101(2)1250241231220211203284145,所以二进制数 101101(2)转化为十进制数为 45.(2)45813022(4)【答案】(1)45(2)13022(4)将本例(1)中的二进制数 101101(2)转化为三进制数解:101101(2)12502412312202112045,所以 451200(3),所以 101101(2)1200(3)(1)k 进制数化为十进制数的步骤把
8、k 进制数写成不同数位上的数字与 k 的幂的乘积之和的形式;按十进制数的运算规则运算出结果(2)十进制数化为 k 进制数(除 k 取余法)的步骤 1.二进制数算式 1010(2)10(2)的值是()A1011(2)B1100(2)C1101(2)D1000(2)解析:选 B.二进制数的加法是逢二进一,所以选 B.2我国古代的劳动人民曾创造了灿烂的中华文明,戍边的官兵通过在烽火台上举火向国内传递信息,烽火台上点火表示数字 1,不点火表示数字 0,这蕴含了进位制的思想如图所示的程序框图的算法思路就源于我国古代戍边官兵的“烽火传信”执行该程序框图,若输入 a1 234,k5,n4,则输出的 b()A
9、26B194C569D819解析:选 B.由题意 b153252351450194.探究点 3 中国古代数学文化中的算法问题(1)秦九韶是我国南宋时期的数学家,普州安岳(现四川省安岳县)人,他在所著的数书九章中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入 n,x 的值分别为 4,3,则输出 v 的值为()A20B61C183D548(2)公元 263 年左右,我国数学家刘徽发现当圆内接正多边形的边数无限增加时,多边形面积可无限逼近圆的面积,并创立了“割圆术”利用“割圆术”刘徽得到了圆周率精确到小数点后两位的近似值 3.
10、14,这就是著名的“徽率”如图是利用刘徽的“割圆术”思想设计的一个程序框图,则输出 n 的值为_(参考数据:sin 150.258 8,sin 7.50.130 5)【解析】(1)初始值 n,x 的值分别为 4,3,程序运行过程如下:v1,i30,v1336,i20;v63220,i10;v203161,i00;v6130183,i10,结束循环,此时输出 v 的值为 183.故选 C.(2)n6,S126sin 603 32 2.5983.1,不满足条件,进入循环;n12,S1212sin 3033.1,不满足条件,继续循环;n24,S1224sin 15120.258 83.105 63.
11、1,满足条件,退出循环,输出 n 的值为 24.【答案】(1)C(2)24中国古代数学文化与算法框图的结合题是近几年来高考的热点,解决该类题目首先要在了解传统文化的基础上读懂框图含义,其次运行程序框图得出输出结果 我国古代数学典籍九章算术“盈不足”中有一道两鼠穿墙问题:“今有垣厚十尺,两鼠对穿,初日各一尺,大鼠日自倍,小鼠日自半,问几何日相逢?”现用程序框图描述,如图所示,则输出结果n()A4B5C2D3解析:选 A.执行程序框图,可得 a1,A1,S0,n1,S2,不满足条件 S10,执行循环体,n2,a12,A2;S92,不满足条件 S10,执行循环体,n3,a14,A4;S354,不满足
12、条件 S10,执行循环体,n4,a18,A8;S1358,满足条件 S10,退出循环,输出 n 的值为 4,故选A.1秦九韶算法的先进性主要体现在减少运算次数,下列说法正确的是()A秦九韶算法可以减少加法运算次数B秦九韶算法可以减少乘法运算次数C秦九韶算法同时减少加法和乘法的运算次数D秦九韶算法中,加法和乘法的运算次数都有可能减少解析:选 B.通过对秦九韶算法的理解可知,它的主要作用是减少乘法运算的次数,将原来的乘法运算次数由n(n1)2减少到 n,而对加法运算没有影响2用秦九韶算法求多项式 f(x)7x55x410 x310 x25x1当 x2 时的值:第一步,x2.第二步,f(x)7x55
13、x410 x310 x25x1.第三步,输出 f(x)第一步,x2.第二步,f(x)(7x5)x10)x10)x5)x1.第三步,输出 f(x)需要计算 5 次乘法,5 次加法需要计算 9 次乘法,5 次加法以上说法中正确的是_(填序号)解析:是直接求解,并不是秦九韶算法,故错误,正确对于一元 n 次多项式,应用秦九韶算法时最多要运用 n 次乘法和n 次加法,故正确,错误 答案:3若 k 进制数 123(k)化成十进制数为 38,则 k_解析:由 k 进制数 123 可知 k4.下面可用验证法:若 k4,则 38(10)212(4),不合题意;若 k5,则 38(10)123(5)成立,所以 k5.答案:5知识结构深化拓展 1.秦九韶算法的计数原理秦九韶算法是按照从内到外的顺序依次计算求值的则该算法先计算 v1anxan1,再计算 v2v1xan2,最后计算 vnvn1xa0.深化拓展 2进位制的转化把一个非十进制数转化为另一个非十进制数,通常是把这个数先转化为十进制数,然后再利用除 k 取余法,把十进制数转化为 k 进制数而在使用除 k 取余法时要注意以下几点:(1)必须除到所得的商是 0 为止(2)各步所得的余数必须从下到上排列(3)切记在所求数的右下角标明基数.本部分内容讲解结束 按ESC键退出全屏播放