学业分层测评(八)算法案例(建议用时:45分钟)[学业达标]一、选择题1.关于进位制说法错误的是()A.进位制是人们为了计数和运算方便而约定的记数系统B.二进制就是满二进一,十进制就是满十进一C.满几进一,就是几进制,几进制的基数就是几D.为了区分不同的进位制,必须在数的右下角标注基数【解析】一般情况下,不同的进位制须在数的右下角标注基数,但十进制可以不用标注,所以不是必须在数的右下角标注基数,所以D错误.【答案】D2.下列四个数中,数值最小的是()A.25(10)B.54(4)C.10110(2)D.10111(2)【解析】统一成十进制,B中54(4)=5×41+4=24,C中10110(2)=1×24+1×22+2=22,D中,10111(2)=23.【答案】C3.用更相减损术求1515和600的最大公约数时,需要做减法次数是()A.15B.14C.13D.12【解析】1515-600=915,915-600=315,600-315=285,315-285=30,285-30=255,255-30=225,225-30=195,195-30=165,165-30=135,135-30=105,105-30=75,75-30=45,45-30=15,30-15=15.∴1515与600的最大公约数是15.则共做14次减法.【答案】B4.计算机中常用的十六进制是逢16进1的计数制,采用数字0~9和字母A~F共16个计数符号,这些符号与十进制数的对应关系如下表:十六进制0123456789ABCDEF十进制0123456789101112131415例如,用十六进制表示:E+D=1B,则A×B等于()A.6EB.72C.5FD.B0【解析】A×B用十进制表示10×11=110,而110=6×16+14,所以用16进制表示6E.【答案】A5.以下各数有可能是五进制数的是()A.15B.106C.731D.21340【解析】五进制数中各个数字均是小于5的自然数,故选D.【答案】D二、填空题6.用更相减损术求36与134的最大公约数,第一步应为________.【解析】∵36与134都是偶数,∴第一步应为:先除以2,得到18与67.【答案】先除以2,得到18与677.用秦九韶算法求f(x)=2x3+x-3当x=3时的值v2=________.【解析】f(x)=((2x+0)x+1)x-3,v0=2;v1=2×3+0=6;v2=6×3+1=19.【答案】198.将八进制数127(8)化成二进制数为________.【解析】先将八进制数127(8)化为十进制数:127(8)=1×82+2×81+7×80=64+16+7=87,再将十进制数87化成二进制数:∴87=1010111(2),∴127(8)=1010111(2).【答案】1010111(2)三、解答题9.用更相减损术求288与153的最大公约数.【解】288-153=135,153-135=18,135-18=117,117-18=99,99-18=81,81-18=63,63-18=45,45-18=27,27-18=9,18-9=9.因此288与153的最大公约数为9.10.用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64,当x=2时的值.【解】将f(x)改写为f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64,由内向外依次计算一次多项式当x=2时的值,v0=1,v1=1×2-12=-10,v2=-10×2+60=40,v3=40×2-160=-80,v4=-80×2+240=80,v5=80×2-192=-32,v6=-32×2+64=0.所以f(2)=0,即x=2时,原多项式的值为0.[能力提升]1.下面一段程序的目的是()INPUTm,nWHILFmnIFmnTHENm=m-nELSEn=n-mENDIFWENDPRINTmENDA.求m,n的最小公倍数B.求m,n的最大公约数C.求m被n除的商D.求n除以m的余数【解析】本程序当m,n不相等时,总是用较大的数减去较小的数,直到相等时跳出循环,显然是“更相减损术”.故选B.【答案】B2.若k进制数123(k)与十进制数38相等,则k=________.【解析】由k进制数123可知k≥4.下面可用验证法:若k=4,则38(10)=212(4),不合题意;若k=5,则38(10)=123(5)成立,所以k=5.或者123(k)=1×k2+2×k+3=k2+2k+3,∴k2+2k+3=38,k2+2k-35=0,k=5(k=-7<0舍去).【答案】53.若二进制数10b1(2)和三进制数a02(3)相等,求正整数a,b.【导学号:28750022】【解】∵10b1(2)=1×23+b×2+1=2b+9,a02(3)=a×32+2=9a+2,∴2b+9=9a+2,即9a-2b=7,∵a∈{1,2},b∈{0,1},∴当a=1时,b=1符合题意;当a=2时,b=112不符合题意.∴a=1,b=1.4.用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1,当x=2时的值.【解】根据秦九韶算法,把多项式改写成如下形式:f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.而x=2,所以有v0=8,v1=8×2+5=21,v2=21×2+0=42,v3=42×2+3=87,v4=87×2+0=174,v5=174×2+0=348,v6=348×2+2=698,v7=698×2+1=1397.所以当x=2时,多项式的值为1397.