1、1高中数学(人教 A 版)能力形成单元测试卷(必修 3 1.3 算法案例)班别 姓名 学号 成绩 1. (1)将 101111011(2) 转化为十进制的数; (2)将 53(8) 转化为二进制的数.2. 用冒泡排序法将下列各数排成一列:8,6,3,18,21,67,54.并写出各趟的最后结果及各趟完成交换的次数.3. 用秦九韶算法写出求 f(x)=1+x+0.5x 2+0.16667x3+0.04167x4+0.00833x5在 x=0.2 时的值的过程.24. 我国算经十书之一孙子算经中有这样一个问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何?答曰:二十三.”你
2、能用程序解决这个问题吗?35. 我国古代数学家张邱建编张邱建算经中记有有趣的数学问题:“今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一凡百钱,买鸡百只,问鸡翁、母、雏各几何?”你能用程序解决这个问题吗?46. 写出用二分法求方程 x3x1=0 在区间1,1.5上的一个解的算法(误差不超过0.001) ,并画出相应的程序框图及程序. 5参考答案1. 解:(1)101111011 (2) =128+027+126+125+124+123+022+121+1=379.(2)53 (8) =581+3=43.余 数432110521222222011010153 (8) =101011(2) .2
3、. 每一趟都从头开始,两个两个地比较,若前者小,则两数位置不变;否则,调整这两个数的位置.解:第一趟的结果是:6 3 8 18 21 54 67完成 3 次交换.第二趟的结果是:3 6 8 18 21 54 67完成 1 次交换.第三趟交换次数为 0,说明已排好次序,即 3 6 8 18 21 54 67.3. 先把函数整理成f(x)=(0.00833x+0.04167)x+0.16667)x+0.5)x+1)x+1,按照从内向外的顺序依次进行. x=0.2a5=0.00833 V0=a5=0.008333a4=0.04167 V1=V0x+a4=0.04a3=0.016667 V2=V1x+
4、a3=0.15867a2=0.5 V3=V2x+a2=0.46827 a1=1 V4=V3x+a1=0.90635a0=1 V5=V4x+a0=0.81873f(0.2)=0.81873.4. 设物共 m 个,被 3,5,7 除所得的商分别为 x、y、z,则这个问题相当于求不定方程的正整数解.2,zyx6m 应同时满足下列三个条件:( 1)m MOD 3=2;(2)m MOD 5=3;(3)m MOD 7=2.因此,可以让 m 从 2 开始检验,若 3 个条件中有任何一个不成立,则m 递增 1,一直到 m 同时满足三个条件为止.程序:m=2f=0WHILE f=0IF m MOD 3=2 AN
5、D m MOD 5=3AND m MOD 7=2 THENPRINT “物体的个数为:” ;mf=1ELSEm=m+1END IFWENDEND5.设鸡翁、母、雏各 x、y 、z 只,则 , ,1035zyx由,得 z=100xy, 代入,得 5x+3y+ =100,37x+4y=100. 求方程的解,可由程序解之.程序:x=1y=1WHILE x=14WHILE y=25IF 7*x+4*y=100 THENz=100xyPRINT “鸡翁、母、雏的个数别为:” ;x,y,zEND IFy=y+1WEND x=x+1y=1WENDEND7(法二)实际上,该题可以不对方程组进行化简,通过设置多
6、重循环的方式得以实现.由、可得 x 最大值为 20,y 最大值为 33,z 最大值为 100,且 z 为 3 的倍数.程序如下:x=1y=1z=3WHILE x=20WHILE y=33WHILE z=100IF 5*x+3*y+z/3=100 ANDx+y+z=100 THENPRINT “鸡翁、母、雏的个数分别为:” ;x、y、zEND IFz=z+3WENDy=y+1z=3WENDx=x+1y=1WENDEND6. 用二分法求方程的近似值一般取区间a,b具有以下特征:f(a)0,f(b)0. 由于 f(1)=1 311=10,f(1.5)=1.5 3 1.51=0.8750,所以取1,1.5中点 =1.25 研究,以下同求 x22=0 的根的方法.25.相应的程序框图是:8开 始a=1b=1.5c=0.001是是是否否否faaa()= -1fxxx()= -1fx()=0?fafx()() 033x=ab+2ax= bx=ab - c?输 出 x程序:a=1b=1.5c=0.001DOx=(a+b)/2f(a)=a 3a 1f(x)=x 3x1IF f(x)=0 THENPRINT “x=”;x9ELSEIF f(a) *f(x)0 THENb=xELSEa=xEND IFEND IFLOOP UNTIL ABS(ab )=cPRINT “方程的一个近似解 x=”;xEND