《2012高考数学一轮复习:133《算法案例——K进制化十.ppt》由会员分享,可在线阅读,更多相关《2012高考数学一轮复习:133《算法案例——K进制化十.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.3 1.3 算法案例算法案例 第三课时第三课时 问题提出问题提出 1.1.辗转相除法和更相减损术,是求两辗转相除法和更相减损术,是求两个正整数的最大公约数的算法,秦九韶个正整数的最大公约数的算法,秦九韶算法是求多项式的值的算法,将这些算算法是求多项式的值的算法,将这些算法转化为程序,就可以由计算机来完成法转化为程序,就可以由计算机来完成相关运算相关运算.2.2.人们为了计数和运算方便,约定了人们为了计数和运算方便,约定了各种进位制,这些进位制是什么概念,各种进位制,这些进位制是什么概念,它们与十进制之间是怎样转化的?对此,它们与十进制之间是怎样转化的?对此,我们从理论上作些了解和研究我们从
2、理论上作些了解和研究.知识探究知识探究(一一):):进位制的概念进位制的概念 思考思考1:1:进位制是为了计数和运算方便而进位制是为了计数和运算方便而约定的记数系统,如逢十进一,就是十约定的记数系统,如逢十进一,就是十进制;每七天为一周,就是七进制;每进制;每七天为一周,就是七进制;每十二个月为一年,就是十二进制,每六十二个月为一年,就是十二进制,每六十秒为一分钟,每六十分钟为一个小时,十秒为一分钟,每六十分钟为一个小时,就是六十进制;等等就是六十进制;等等.一般地,一般地,“满满k k进进一一”就是就是k k进制,其中进制,其中k k称为称为k k进制的基数进制的基数.那么那么k k是一个什
3、么范围内的数?是一个什么范围内的数?如二进制可使用的数字有如二进制可使用的数字有0和和1,基数是基数是2;十进制可使用的数字有十进制可使用的数字有0,1,2,8,9等十个等十个数字数字,基数是基数是10;十六进制可使用的数字或符号有十六进制可使用的数字或符号有09等等10个数字以及个数字以及AF等等6个字母个字母(规定字母规定字母AF对应对应1015),十六进制的基数是十六进制的基数是16.注意注意:为了区分不同的进位制为了区分不同的进位制,常在数字常在数字的右下脚标明基数的右下脚标明基数,.,.如如111001111001(2)(2)表示二进制数表示二进制数,34,34(5)(5)表示表示5
4、 5进制数进制数.十进制数一般不标注基数十进制数一般不标注基数.思考思考2:2:十进制使用十进制使用0 09 9十个数字,那么十个数字,那么五进制、七进制分别使用哪些数字?五进制、七进制分别使用哪些数字?思考思考3:3:在十进制中在十进制中1010表示十,在二进制表示十,在二进制中中1010表示表示2.2.一般地,若一般地,若k k是一个大于是一个大于1 1的的整数,则以整数,则以k k为基数的为基数的k k进制数可以表示进制数可以表示为一串数字连写在一起的形式:为一串数字连写在一起的形式:a an na an-1n-1a a1 1a a0(k)0(k).其中各个数位上的数字其中各个数位上的数
5、字a an n,a an-1n-1,a a1 1,a a0 0的取值范围如何?的取值范围如何?思考思考4:4:十进制数十进制数45284528表示的数可以写成表示的数可以写成4 410103 3+5+510102 2+2+210101 1+8+810100 0,依此类,依此类比,二进制数比,二进制数110011110011(2 2),八进制数八进制数 73427342(8 8)分别可以写成什么式子?分别可以写成什么式子?110011110011(2 2)=1=12 25 5+1+12 24 4+0+02 23 3+0+02 22 2+1+12 21 1+1+12 20 0 73427342(8
6、 8)=78=783 3+38+382 2+48+481 1+28+280 0.思考思考5:5:一般地,如何将一般地,如何将k k进制数进制数 a an na an-1n-1a a1 1a a0(k)0(k)写成各数位上的数字与基写成各数位上的数字与基数数k k的幂的乘积之和的形式?的幂的乘积之和的形式?思考思考6:6:在二进制中,在二进制中,0+00+0,0+10+1,1+01+0,1+11+1的值分别是多少?的值分别是多少?知识探究知识探究(二二):):k k进制化十进制的算法进制化十进制的算法 思考思考1:1:二进制数二进制数110011110011(2 2)化为十进制化为十进制数是什么
7、数?数是什么数?110011110011(2 2)=12=125 5+12+124 4+02+023 3+02+022 2+12+121 1+12+120 0=32+16+2+1=51.=32+16+2+1=51.思考思考2:2:二进制数右数第二进制数右数第i i位数字位数字a ai i化为十化为十进制数是什么数?进制数是什么数?练习:练习:C7A16(16)=12164+7163+10162 +1161+6160.思考思考3:3:利用利用 运用循环结构,把二进制数运用循环结构,把二进制数 化为十进制数化为十进制数b b的算法步骤如何设计?的算法步骤如何设计?第二步,令第二步,令b=0b=0,
8、i=1.i=1.第四步,判断第四步,判断in in 是否成立是否成立.若是,则输若是,则输 出出b b的值;否则,返回第三步的值;否则,返回第三步.第一步,输入第一步,输入a a和和n n的值的值.第三步,第三步,i=i+1.i=i+1.思考思考4:4:按照上述思路,把按照上述思路,把k k进制数进制数 化为十进制数化为十进制数b b的算法的算法步骤如何设计?步骤如何设计?第四步,判断第四步,判断in in 是否成立是否成立.若是,则若是,则输出输出b b的值;否则,返回第三步的值;否则,返回第三步.第一步,输入第一步,输入a a,k k和和n n的值的值.第二步,令第二步,令b=0b=0,i
9、=1.i=1.第三步,第三步,i=i+1.i=i+1.思考思考5:5:上述把上述把k k进制数进制数 化为十进制数化为十进制数b b的算法的程序的算法的程序框图如何表示框图如何表示?开始开始输入输入a,k,nb=0i=1把把a的右数第的右数第i位数字赋给位数字赋给tb=b+tki-1i=i+1in?结束结束是是输出输出b否否思考思考6:6:该程序框图对应的程序如何表述?该程序框图对应的程序如何表述?开始开始输入输入a,k,nb=0i=1把把a的右数第的右数第i位数字赋给位数字赋给tb=b+tki-1i=i+1in?结束结束是是输出输出b否否INPUT aINPUT a,k k,n nb=0b=
10、0i=1i=1t=a MOD10t=a MOD10DODOb=b+t*kb=b+t*k(i-1i-1)a=a10a=a10t=a MOD10t=a MOD10i=i+1i=i+1LOOP UNTIL iLOOP UNTIL in nPRINT bPRINT bENDEND 例例1 1 将下列各进制数化为十进制数将下列各进制数化为十进制数.(1 1)1030310303(4 4);(2 2)12341234(5 5).理论迁移理论迁移1030310303(4 4)=14=144 4+34+342 2+34+340 0=307.=307.12341234(5 5)=15=153 3+25+252
11、2+35+351 1+45+450 0=194.=194.例例2 2 已知已知10b110b1(2 2)=a02=a02(3 3),求数字求数字a a,b b的值的值.所以所以2b+9=9a+22b+9=9a+2,即,即9a-2b=7.9a-2b=7.10b110b1(2 2)=12=123 3+b2+1=2b+9.+b2+1=2b+9.a02a02(3 3)=a3=a32 2+2=9a+2.+2=9a+2.故故a=1a=1,b=1.b=1.1.k 1.k进制数使用进制数使用0 0(k-1k-1)共)共k k个数个数字,但左侧第一个数位上的数字(首位字,但左侧第一个数位上的数字(首位数字)不为数字)不为0.0.小结作业小结作业 2.2.用用 表示表示k k进制数,其进制数,其中中k k称为基数,十进制数一般不标注基数称为基数,十进制数一般不标注基数.3.3.把把k k进制数化为十进制数的一般算进制数化为十进制数的一般算式是:式是:作业:作业:课外阅读:课外阅读:P45P45割圆术割圆术P48P48习题习题1.3B1.3B组:组:1.1.