高二年级数学算法教师版.docx
《高二年级数学算法教师版.docx》由会员分享,可在线阅读,更多相关《高二年级数学算法教师版.docx(18页珍藏版)》请在冰豆网上搜索。
![高二年级数学算法教师版.docx](https://file1.bdocx.com/fileroot1/2023-1/26/2f70f5c7-a939-4135-a6ea-f7f4c5265a1e/2f70f5c7-a939-4135-a6ea-f7f4c5265a1e1.gif)
高二年级数学算法教师版
算法
1、兴趣导入(Topic-in):
有个小孩到楼下的小店买饮料。
店主给他一瓶,然后小孩说没钱。
店主生气地威胁说:
“没钱找你妈妈去!
”小孩被吓得瓶盖都掉地上了。
捡起来一看:
再来一瓶!
于是把瓶盖给了店主,高高兴兴地走了……
2、学前测试(Testing):
1.用辗转相除法求294和84的最大公约数时,需要做除法的次数是( )
A.1 B.2 C.3 D.4
[答案] B
[解析] ∵294=84×3+42,84=42×2,∴选B.
2.用更相减损术,求105与30的最大公约数时,需要做减法的次数是( )
A.2B.3C.4D.5
[答案] C
[解析] 105-30=75,75-30=45,45-30=15,30-15=15.
3.930与868的最大公约数是________.
[答案] 62
[解析] ∵930=868×1+62
868=62×14
∴930与868的最大公约数为62.
4、把十进制数53转化为二进制数.
解:
53=1×25+1×24+0×23+1×22+0×21+1×20
=110101
(2)
5、利用辗转相除法求3869与6497的最大公约数与最小公倍数。
解:
6497=3869×1+2628
3869=2628×1+1241
2628=1241*2+146
1241=146×8+73
146=73×2+0所以3869与6497的最大公约数为73最小公倍数为3869×6497/73=344341
3、知识讲解(Teaching):
1.辗转相除法
例1求两个正数a=204和b=85的最大公约数。
分析:
204与85两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数
解:
204=85×2+34
显然204的最大公约数也必是85的约数,同样204与85的公约数也必是34的约数,所以204与85的最大公约数也是85与34的最大公约数。
85=34×2+17
34=117×2+0
则17为204与85的最大公约数。
以上我们求最大公约数的方法就是辗转相除法。
也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。
利用辗转相除法求最大公约数的步骤如下:
第一步:
用较大的数m除以较小的数n得到一个商q0和一个余数r0;
第二步:
若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;
第三步:
若r1=0,则r1为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;
……
依次计算直至rn=0,此时所得到的rn-1即为所求的最大公约数。
2.更相减损术
我国早期也有解决求最大公约数问题的算法,就是更相减损术。
更相减损术求最大公约数的步骤如下:
可半者半之,不可半者,副置分母分子之数,以少减多,更相减损,求其等也,以等数约之。
翻译出来为:
第一步:
任意给出两个正数;判断它们是否都是偶数。
若是,用2约简;若不是,执行第二步。
第二步:
以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。
继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。
例2用更相减损术求91与49的最大公约数.
解:
由于49不是偶数,把91和49以大数减小数,并辗转相减,
即:
91-48=4249-42=742-7=3535-7=2828-7=2121-7=14
14-7=7
所以,91与49的最大公约数是7。
3.秦九韶算法
材料:
求多项式f(x)=x5+x4+x3+x2+x+1当x=5时,有两种方法.第一种方法是把5代入多项式f(x),计算各项的值,然后把它们加起来.这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.第二种做法是我们先计算x2的值,然后再一次计算x2x,(x2x)x,((x2x)x)x的值,这样,我们只计算了四次乘法运算,五次加法运算.
第二种做法与第一种做法相比,乘法的运算减少了,因而能提高运算效率.对于计算机来说,做一次乘法运算所用的时间,比做一次加法运算所用的时间要多得多,,计算机能更快的得到结果.
4.进位制
对于任何一个数,我们可以用不同的进位制来表示。
比如:
十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。
表示各种进位制数一般在数字右下脚加注来表示,如111001
(2)表示二进制数,34(5)表示5进制数.
电子计算机一般都使用二进制,下面我们来进行二进制与十进制之间的转化
例1把二进制数110011
(2)化为十进制数.
解:
110011=1*25+1*24+0*23+1*24+0*22+1*21+1*20
=32+16+2+1
=51
例2把89化为二进制数.
解:
根据二进制数满二进一的原则,可以用2连续去除89或所得商,然后去余数.
具体的计算方法如下:
89=2*44+1
44=2*22+0
22=2*11+0
11=2*5+1
5=2*2+1
所以:
89=2*(2*(2*(2*(2*2+1)+1)+0)+0)+1
=1*26+0*25+1*24+1*23+0*22+0*21+1*20
=1011001
(2)
这种算法叫做除2取余法,还可以用下面的除法算式表示:
把上式中的各步所得的余数从下到上排列即可得到89=1011001
(2)
上述方法也可以推广为把十进制化为k进制数的算法,这种算法成为除k取余法.
4、强化练习(Training)
一.选择题(共16小题)
1.把77化成四进制数的末位数字为( )
A.4B.3C.2D.1
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
利用“除k取余法”是将十进制数除以5,然后将商继续除以4,直到商为0,然后将依次所得的余数倒序排列即可得到答案.
解答:
解:
∵77÷4=19…1
19÷4=4…3
4÷4=1…0
1÷4=0…1
故77(10)=1031(4)末位数字为1.
故选D.
点评:
本题考查的知识点是十进制与其它进制之间的转化,其中熟练掌握“除k取余法”的方法步骤是解答本题的关键.
2.用秦九韶算法求多项式f(x)=x4+2x3+x2﹣3x﹣1,当x=2时的值,则v3=( )
A.4B.9C.15D.29
考点:
排序问题与算法的多样性。
分析:
由秦九韶算法的规则对多项式变形,求出,再代入x=2计算出它的值,选出正确选项
解答:
解:
由秦九韶算法的规则f(x)=x4+2x3+x2﹣3x﹣1=(((x+2)x+1)x﹣3)x﹣1,
∴v3=((x+2)x+1)x﹣3
又x=2,可得v3=((2+2)2+1)2﹣3=15
故选C.
点评:
本题考查秦九韶算法,解题的关键是理解秦九韶算法的原理,得出v3的表达式,秦九韶算法是求多项值的一个较简便易行的算法,在平时求多项式的值时加利用可以简单化计算
3.把67化为二进制数为( )
A.110000B.1011110C.1100001D.1000011
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
利用“除k取余法”是将十进制数除以2,然后将商继续除以2,直到商为0,然后将依次所得的余数倒序排列即可得到答案.
解答:
解:
67÷2=33…1
33÷2=16…1
16÷2=8…0
8÷2=4…0
4÷2=2…0
2÷2=1…0
1÷2=0…1
故67(10)=1000011
(2)
故选D.
点评:
本题考查的知识点是十进制与其它进制之间的转化,其中熟练掌握“除k取余法”的方法步骤是解答本题的关键.
4.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是( )
A.6,6B.5,6C.5,5D.6,5
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
把所给的多项式写成关于x的一次函数的形式,依次写出,得到最后结果,从里到外进行运算,结果有6次乘法运算,有6次加法运算,本题也可以不分解,直接从最高次项的次数直接得到结果.
解答:
解:
∵f(x)=3x6+4x5+5x4+6x3+7x2+8x+1
=(3x5+4x4+5x3+6x2+7x+8)x+1
=[(3x4+4x3+5x2+6x+7)x+8]+1
={{{[(3x+4)x+5]x+6}x+7}x+8}x+1
∴需要做6次加法运算,6次乘法运算,
故选A.
点评:
本题考查用秦九韶算法进行求多项式的值的运算,不是求具体的运算值而是要我们观察乘法和加法的运算次数,本题是一个基础题.
5.使用秦九韶算法计算x=2时f(x)=6x6+4x5﹣2x4+5x3﹣7x2﹣2x+5的值,所要进行的乘法和加法的次数分别为( )
A.6,3B.6,6C.21,3D.21,6
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
根据秦九韶算法求多项式的规则变化其形式,把f(x)=6x6+4x5﹣2x4+5x3﹣7x2﹣2x+5等到价转化为(((((6x+5)x﹣2)x+5)x﹣7)x﹣2)x+5,就能求出结果.
解答:
解:
∵f(x)=6x6+4x5﹣2x4+5x3﹣7x2﹣2x+5=(((((6x+5)x﹣2)x+5)x﹣7)x﹣2)x+5
∴需做加法与乘法的次数都是6次,
故选B.
点评:
本题考查算法的多样性,正确理解秦九韶算法求多项式的原理是解题的关键,本题是一个比较简单的题目,运算量也不大,只要细心就能够做对.
6.把27化为二进制数为( )
A.1011
(2)B.11011
(2)C.10110
(2)D.10111
(2)
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
利用“除k取余法”是将十进制数除以2,然后将商继续除以2,直到商为0,然后将依次所得的余数倒序排列即可得到答案.
解答:
解:
27÷2=13…1
13÷2=6…1
6÷2=3…0
3÷2=1…1
1÷2=0…1
故27(10)=11011
(2)
故选B.
点评:
本题考查的知识点是十进制与其它进制之间的转化,其中熟练掌握“除k取余法”的方法步骤是解答本题的关键.
7.用秦九韶算法计算多项式f(x)=5x5+4x4+3x3﹣2x2﹣x﹣1在x=﹣4时的值时,需要进行的乘法、加法的次数分别是( )
A.14,5B.5,5C.6,5D.7,5
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
由秦九韶算法的原理,可以把多项式f(x)=5x5+4x4+3x3﹣2x2﹣x﹣1变形计算出乘法与加法的运算次数.
解答:
解:
多项式f(x)=5x5+4x4+3x3﹣2x2﹣x﹣1=((((5x+4)x+3)x﹣2)x﹣1)x﹣1不难发现要经过5次乘法5次加法运算.
故需要做乘法和加法的次数分别为:
5、5
故选B.
点评:
本题考查秦九韶算法,考查在用秦九韶算法解题时一共会进行多少次加法和乘法运算,是一个基础题,解题时注意最后加还是不加常数项,可以直接看出结果.
8.二进制数11001001
(2)对应的十进制数是( )
A.401B.385C.201D.258
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
根据二进制和十进制之间的互化原则,需要用二进制的最后一位乘以2的0次方,以此类推,写出一个代数式,得到结果.
解答:
解:
二进制数11001001
(2)对应的十进制数是1×20+1×23+1×26+1×27=201
故选C.
点评:
本题考查二进制和十进制之间的互化,本题解题的关键是理解两者之间的关系,不仅是这两种进位制之间的互化,既是还有其他的互化也可以用类似方法求解.
9.用秦九韶算法在计算f(x)=2x4+3x3﹣2x2+4x﹣6时,要用到的乘法和加法的次数分别为( )
A.4,3B.6,4C.4,4D.3,4
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
由秦九韶算法能够得到f(x)=2x4+3x3﹣2x2+4x﹣6=(((2x+3)x﹣2)x+4)x﹣6,由此能够求出结果.
解答:
解:
∵f(x)=2x4+3x3﹣2x2+4x﹣6
=(((2x+3)x﹣2)x+4)x﹣6,
∴用到的乘法的次数为4次,用到的加法的次数为4次.
故选C.
点评:
本题考查秦九韶算法的应用,是基础题.解题时要认真审题,仔细解答.
10.用秦九韶算法求多项式f(x)=1+2x+x2﹣3x3+2x4在x=﹣1时的值,v2的结果是( )
A.﹣4B.﹣1C.5D.6
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
本题考查秦九韶算法,考查在用秦九韶算法解题时进行的加法和乘法运算,是一个基础题,先计算v1=anx+an﹣1;再计算v2=v1x+an﹣2,即得.
解答:
解:
v1=2×(﹣1)﹣3=﹣5;
∴v2=(﹣5)×(﹣1)+1=6,
故选D.
点评:
秦九韶算法的设计思想:
一般地对于一个n次多项式f(x)=anxn+an﹣1xn﹣1+an﹣2xn﹣2+…+a1x+a0,首先改写成如下形式:
f(x)=(…(anx+an﹣1)x+an﹣2)x+…+a1)x+a0,再计算最内层括号内一次多项式的值,即v1=anx+an﹣1;然后由内向外逐层计算一多项式的值,即v2=v1x+an﹣2,v3=v2x+an﹣3,…,vn=vn﹣1x+a0.
11.下列各数85(9)、210(6)、1000(4)、111111
(2)中最大的数是( )
A.85(9)B.210(6)C.1000(4)D.111111
(2)
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
由题设条件,可以把这几个数化为十进制数,再比较它们的大小,选出正确选项
解答:
解:
85(9)=8×9+5×1=77;
210(6)=2×36+1×6=78;
1000(4)=1×43=64;
111111
(2)=1×25+1×24+1×23+1×22+1×21+1×20=32+16+8+4+2+1=63
由上计算知最大的数是210(6),
故选B
点评:
本题考查排序问题与算法的多样性,解题的关键是掌握住其它进位制数转化为十进制数的方法,统一进位制,再作比较
12.十进制数89化为二进制的数为( )
A.1001101
(2)B.1011001
(2)C.0011001
(2)D.1001001
(2)
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
利用“除k取余法”是将十进制数除以2,然后将商继续除以2,直到商为0,然后将依次所得的余数倒序排列即可得到答案.
解答:
解:
89÷2=44…1
44÷2=22…0
22÷2=11…0
11÷2=5…1
5÷2=2…1
2÷2=1…0
1÷2=0…1
故89(10)=1011001
(2)
故选B.
点评:
本题考查的知识点是十进制与其它进制之间的转化,其中熟练掌握“除k取余法”的方法步骤是解答本题的关键.
13.在下列各数中,最大的数是( )
A.85(9)B.210(6)C.1000(4)D.11111
(2)
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
欲找四个中最大的数,先将它们分别化成十进制数,后再比较它们的大小即可.
解答:
解:
85(9)=8×9+5=77;
210(6)=2×62+1×6=78;
1000(4)=1×43=64;
11111
(2)=24+23+22+21+20=31.
故210(6)最大,
故选B.
点评:
本题考查的知识点是算法的概念,由n进制转化为十进制的方法,我们只要依次累加各位数字上的数×该数位的权重,即可得到结果.
14.把23化成二进制数是( )
A.00110B.10111C.10101D.11101
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
利用“除k取余法”是将十进制数除以2,然后将商继续除以2,直到商为0,然后将依次所得的余数倒序排列即可得到答案.
解答:
解:
23÷2=11…1
11÷2=5…1
5÷2=2…1
2÷2=1…0
1÷2=0…1
故23(10)=10111
(2)
故选B
点评:
本题考查的知识点是十进制与其它进制之间的转化,其中熟练掌握“除k取余法”的方法步骤是解答本题的关键.
二.填空题(共11小题)
15.用秦九韶算法求多项式f(x)=12+35x﹣8x2+79x3+6x4+5x5+3x6在x=﹣4的值时,其中V1的值= ﹣7 .
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
首先把一个n次多项式f(x)写成(…((a[n]x+a[n﹣1])x+a[n﹣2])x+…+a[1])x+a[0]的形式,然后化简,求n次多项式f(x)的值就转化为求n个一次多项式的值,求出V3的值.
解答:
解:
把一个n次多项式f(x)=a[n]xn+a[n﹣1]x(n﹣1)+…+a[1]x+a[0]改写成如下形式:
f(x)=a[n]xn+a[n﹣1]x(n﹣1))+…+a[1]x+a[0]
=(a[n]x(n﹣1)+a[n﹣1]x(n﹣2)+…+a[1])x+a[0]
=((a[n]x(n﹣2)+a[n﹣1]x(n﹣3)+…+a[2])x+a[1])x+a[0]
=…
=(…((a[n]x+a[n﹣1])x+a[n﹣2])x+…+a[1])x+a[0].
求多项式的值时,首先计算最内层括号内一次多项式的值,即
v[1]=a[n]x+a[n﹣1]
然后由内向外逐层计算一次多项式的值,即
v[2]=v[1]x+a[n﹣2]
v[3]=v[2]x+a[n﹣3]
…
v[n]=v[n﹣1]x+a[0]
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.
∴V1的值为﹣7;
故答案为:
﹣7.
点评:
本题考查通过程序框图解决实际问题,把实际问题通过数学上的算法,写成程序,然后求解,属于中档题.
16.把5进制的数412(5)化为7进制是 212(7) .
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
先把5进制的数412(5)化为十进制数再变为七进制数,用除k取余法.
解答:
解:
412(5)=2×50+1×51+4×52=2+5+4×25=107
∵107=2×70+1×71+2×72
∴把5进制的数412(5)化为7进制是212(7)
故答案为:
212(7)
点评:
本题考查进位制之间的换算,熟练掌握进行制的变化规律是正确解题的要诀.
17.用秦九韶算法计算多项式f(x)=8x4+5x3+3x2+2x+1在x=2时的值时,v2= 45 .
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
首先把一个n次多项式f(x)写成(…((anx+an﹣1)x+an﹣2)x+…+a1)x+a0的形式,然后化简,求n次多项式f(x)的值就转化为求n个一次多项式的值,求出V2的值.
解答:
解:
∵f(x)=8x4+5x3+3x2+2x+1=(((8x+5)x+3)x+2)x+1
∴v0=8;
v1=8×2+5=21;
v2=21×2+3=45.
故答案为:
45.
点评:
本题考查秦九韶算法与算法的多样性,解答本题,关键是了解秦九韶算法的规则,求出v2的表达式
18.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,至多需要做乘法和加法的次数分别是 6 和 6 .
考点:
排序问题与算法的多样性。
专题:
规律型。
分析:
把所给的多项式写成关于x的一次函数的形式,依次写出,得到最后结果,从里到外进行运算,结果有6次乘法运算,有6次加法运算,本题也可以不分解,直接从最高次项的次数直接得到结果.
解答:
解:
∵f(x)=3x6+4x5+5x4+6x3+7x2+8x+1
={{{[(3x+4)x+5]x+6}x+7}x+8}x+1
∴需要做6次加法运算,6次乘法运算,
故答案为6,6
点评:
本题考查秦九韶算法,考查在用秦九韶算法解题时一共会进行多少次加法和乘法运算,是一个基础题,解题时注意最后加还是不加常数项,可以直接看出结果.
19.用秦九韶算法求多项式f(x)=5x5+2x4+3.5x3﹣2.6x2+1.7x﹣0.8当x=5时的值的过程中v3= 689.9 .
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
由秦九韶算法的规则将多项式f(x)=5x5+2x4+3.5x3﹣2.6x2+1.7x﹣0.8这形得出v3,再代入x=5求值
解答:
解:
∵f(x)=5x5+2x4+3.5x3﹣2.6x2+1.7x﹣0.8=((((5x+2)x+3.5)x﹣2.6)x+1.7)x﹣0.8
∴v3=((5x+2)x+3.5)x﹣2.6
将x=5代入得v3=((5×5+2)×5+3.5)×5﹣2.6=689.9
故答案为689.9
点评:
本题考查排序问题与算法的多样性,解答本题,关键是了解秦九韶算法的规则,求出v3的表达式
20.完成下列进位制之间的转化:
1234= 34102 (4).
考点:
排序问题与算法的多样性。
分析:
将1235依次除以4,求余数,最后把余数从下到上连接起来即为4进制数.
解答:
解:
由题意,1234除以4,商为308,,余数为2,308除以4,商为77,,余数为0,77除以4,商为19,,余数为1,19除以4,商为4,,余数为3,
将余数从下到上连起来,即34102
故答案为:
34102
点评:
本题考查算法的概念,以及进位制的运算,属于基础题.基础题
21.进制转化:
403(6)= 223 (8).
考点:
排序问题与算法的多样性;算法的概念。
专题:
计算题。
分析:
首先对403(6)化为10进制,然后依次除以8,求余数,最后把余数从下到上连接起来即为8进制数.
解答:
解:
先转化为10进制为:
4*36+0*6+3=147
147/8=18…3
18/8=2…2
2/8=0…2
将余数从下到上连起来,即223
故答案为:
223
点评:
本题考查算法的概念,以及进位制的运算.通过把3进制转化为10进制,再把10进制转化为8进制.其中10进制是一个过渡.
22.完成右边进制的转化:
1011
(2)= 11 (10)= 13 (8).
考点:
排序问题与算法的多样性。
专题:
计算题。
分析:
若二进制的数有n位,那么换成十进制,等于每一个数位上的数乘以2的(n﹣1)方,再相加即可;
而要将十进制的数转化为8进制,而要采用除8求余法;
解答:
解:
(1011)2=1×23+0×22+1×2+1=11
∵11÷8=1…3,1÷8=0…1,
故1011
(2)=11(10)=13(8),
故答案为11,13
点评:
本题考查的知识点是不同进制之间的转换,熟练掌握K进制与十进制之间的转换方法﹣﹣“累加权重法”和“除k求余法”是解答本题的关键.
5、反思总结(Thinking):
堂堂清落地训练
(5-10分钟的测试卷,坚持堂堂清,学习很爽心)
1.将多项式x3+2x2+x﹣1用秦九韶算法求值时,其表达式应写成 ((x+2)x+1)x﹣1 .
考点:
排序问题与算法的多样性。
专题:
数学模型法。
分析:
利用秦九韶算法解题,需要一层一层的提