苏教版高中数学必修3课时训练算法案例.doc
课堂练习(四)算法案例(建议用时:60分钟)基础达标练一、选择题1下列关于辗转相除法的说法中,正确的是()A它和更相减损术一样是求多项式值的一种方法B基本步骤是用较大的数m除以较小的数n,得到除式mnqr,直到r<n为止C基本步骤是用较大的数m除以较小的数n,得到除式mnqr(0r<n),反复进行,直到r0为止D辗转相除法也可用来求最小公倍数C辗转相除法是求最大公约数的一种方法,其基本步骤为:计算出m除以n的余数为r,若r0,则n为m,n的最大公约数,若r0,则把n作为被除数,把余数r作除数,继续运算,直到余数为0,此时的除数即为自然数m,n的最大公约数故只有C正确2128与88的最大公约数为()A6B8C12D16B法一:用辗转相除法:12888140,884028,40850,故128与88的最大公约数为8.法二:用更相减损术:1288840,884048,48408,40832,32824,24816,1688,所以,128与88的最大公约数为8.3Int(3.15)()A3B4C4D3DInt(3.15)表示不超过3.15的最大整数,因为不超过3.15的最大整数为3,所以Int(3.15)3.4运行下列伪代码,输出的结果是()A1B2C4D6C该伪代码的作用是求596与372的最大公约数5963721224,3722241148,224148176,14876172,767214,724180.所以596与372的最大公约数为4.5Mod(56,3)()A0B1C2D3CMod(56,3)表示56除以3所得的余数,563182,所以Mod(56,3)2.二、填空题6用辗转相除法求294和84的最大公约数时,需要做除法的次数是_229484342,84422,故需要做2次7已知a333,b24,则使得abqr(q,r均为自然数,且0r<b)成立的q和r的值分别为_13,21用333除以24,商即为q,余数就是r.8下列伪代码的运行结果是_12此伪代码的功能是用更相减损术求两个正整数的最大公约数a,b的值依次是:(120,132)(120,12)(108,12)(96,12)(84,12)(72,12)(60,12)(48,12)(36,12)(24,12)(12,12),所以输出12.三、解答题9有一堆围棋子,5个5个的数余2,7个7个的数余3,9个9个的数余4,请画出求这堆围棋子共有多少个的流程图,并写出伪代码思路点拨:本题求这堆围棋子的个数相当于求关于x,y,z的以下不定方程组的正整数解:解流程图:伪代码:10已知如图所示的流程图(其中的m、n为正整数),(1)这个算法的功能是什么?(2)当m286,n91时,运行的结果是什么?思路点拨:对照用辗转相除法求两个正数最大公约数的算法易知此算法的功能及运行结果解(1)这个算法的功能是用辗转相除法求两个正整数的最大公约数(2)28691313,91137,286与91的最大公约数是13.故运行结果为13.能力提升练1下列说法中不正确的是()A辗转相除法也叫欧几里得辗转相除法B辗转相除法的基本步骤是用较大的数除以较小的数C求最大公约数的方法,除辗转相除法之外,没有其他方法D编写辗转相除法的伪代码时,要用到循环语句C求最大公约数的方法除了辗转相除法之外,还有更相减损术,故C错误2如图所示的流程图,输出的结果是()A0B2C4D6B由86>68得a18,b68,由68>18得b50,a18;由50>18得b32,a18;由32>18得b14,a18;由18>14得a4,b14;由14>4得b10,a4;由10>4得b6,a4;由6>4得b2,a4;由4>2得a2,b2.满足ab,输出2.3Mod(288,123)Int_.48Mod(288,123)42,Int6,42648.4把二分法求方程x220的近似根(误差不超过0.001)的一个算法补充完整:S1令f(x)x22,因为f(1)<0,f(2)>0,所以设x11,x22;S2令m_,判断f(m)是否为0,若f(m)0,则m即为所求;若否,则判断_的符号;S3若_,则x1m;否则x2m;S4判断_<0.001是否成立,若是,则x1,x2之间的任意值均为满足条件的近似根,若否,_.f(x1)f(m)f(x1)f(m)>0|x1x2|转S2依据二分法求方程近似解的一般步骤填空5已知函数f(x)x25,画出求方程f(x)0在2,3上的近似解(精确到0.001)的流程图思路点拨:本题可用二分法来解决,设x12,x23,m.步骤如下:S1x12,x23;S2m(x1x2)/2;S3计算f(m),如果f(m)0,则输出m;如果f(m)>0,则x2m,否则x1m;S4若|x2x1|<0.001,输出m,否则转S2.解流程图如图所示: