资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,主讲老师 潘学国,算法初步,第三课时,1.3 算法案例,进位制,1,、辗转相除法和更相减损术,是求两个正整数的最大公约数的算法,秦九韶算法是求多项式的值的算法,将这些算法转化为程序,就可以由计算机来完成相关运算,.,2,、,人们为了计数和运算方便,约定了各种进位制,这些进位制是什么概念,它们与十进制之间是怎样转化的?对此,我们从理论上作些了解和研究,.,问题提出,思考,1:,进位制是为了计数和运算方便而约定的记数系统,如满十进一,就是十进制;每七天为一周,就是七进制;每十二个月为一年,就是十二进制,每六十秒为一分钟,每六十分钟为一个小时,就是六十进制;等等,.,一般地,“满,k,进一”就是,k,进制,其中,k,称为,k,进制的基数,.,那么,k,是一个什么范围内的数?,进位制,k,是大于,1,的整数。,二进制可使用的数字有,0,和,1,基数是,2;,十六进制可使用的数字或符号有,09,等,10,个数字以及,AF,等,6,个字母,(,规定字母,AF,对应,1015),十六进制的基数是,16.,计数时,几个数字排成一行,从右起,位数依次增大。,注意,:,为了区分不同的进位制,常在数字的右下脚标明基数,.,如,111001,(2),表示二进制数,34,(5),表示,5,进制数,.,十进制数一般不标注基数,.,思考,2:,十进制使用,0,9,十个数字,那么其它进制分别使用哪些数字?,思考,3:,在十进制中,10,表示十,在二进制中,10,表示,2.,一般地,若,k,是一个大于,1,的整数,则以,k,为基数的,k,进制数可以表示为一串数字连写在一起的形式:,a,n,a,n-1,a,1,a,0(k),.,其中各个数位上的数字,a,n,,,a,n-1,,,,,a,1,,,a,0,的取值范围如何?,思考,4:,十进制数,3721,表示的数可以写成,310,3,+710,2,+210,1,+110,0,,依此类比,二进制数,110011,(,2,),八进制数,7342,(,8,),分别可以写成什么式子?,110011,(,2,),=12,5,+12,4,+02,3,+02,2,+12,1,+12,0,7342,(,8,),=78,3,+38,2,+48,1,+28,0,.,思考,5:,一般地,如何将,k,进制数,a,n,a,n-1,a,1,a,0(k),写成各数位上的数字与基数,k,的幂的乘积之和的形式?,思考,6:,如何将其它进位制转化为十进制数呢?,例,1:,把二进制数,110011,(,2,),化为十进制数。,110011,(,2,),=12,5,+12,4,+02,3,+02,2,+12,1,+12,0,=32+16+2+1=51.,练习:,把,C7A16,(16),化为十进制数。,C7A16,(16),=1216,4,+716,3,+1016,2,+116,1,+616,0,.,第四步,判断,in,是否成立,.,若是,则输出,b,的值;否则,返回第三步;,第一步,输入,a,,,k,和,n,的值;,第二步,令,b=0,,,i=1,;,思考,7:,按照上述思路,把,k,进制数,a,n,a,n-1,a,1,a,0(k),化为十进制数,b,的算法步骤如何设计?,第三步,,i=i+1;,第五步,输出,b,的值。,开始,输入,a,,,k,,,n,b=0,i=1,把,a,的右数第,i,位数字赋给,t,b=b+tk,i-1,i=i+1,in?,结束,是,输出,b,否,思考,8:,上述把,k,进制,a,n,a,n-1,a,1,a,0(k),化为十进制数,b,的算法的程序框图如何表示?,思考,9:,该程序框图对应的程序如何表述?,开始,输入,a,,,k,,,n,b=0,i=1,把,a,的右数第,i,位数字赋给,t,b=b+tk,i-1,i=i+1,in?,结束,是,输出,b,否,INPUT a,,,k,,,n,b=0,i=1,t=a MOD10,DO,b=,b+t,*k,(,i-1,),a=a10,t=a MOD10,i=i+1,LOOP UNTIL in,PRINT b,END,例,2,:,将下列各进制数化为十进制数,.,(,1,),10303,(,4,),;(,2,),1234,(,5,),.,10303,(,4,),=14,4,+34,2,+34,0,=307.,1234,(,5,),=15,3,+25,2,+35,1,+45,0,=194.,例,3,:,已知,10b1,(,2,),=a02,(,3,),求数字,a,,,b,的值,.,所以,2b+9=9a+2,,即,9a-2b=7.,10b1,(,2,),=12,3,+b2+1=2b+9.,a02,(,3,),=a3,2,+2=9a+2.,故,a=1,,,b=1.,课时小结,:,1.k,进制数使用,0,(,k-1,)共,k,个数字,但左侧第一个数位上的数字(首位数字)不为,0.,2.,用 表示,k,进制数,其中,k,称为基数,十进制数一般不标注基数,.,3.,把,k,进制数化为十进制数的一般算式是:,1,:,P48 A,组,3,(,1,)(,3,),2,:资料,作业布置,
展开阅读全文