(推荐)1.3.3算法案例(进位制)解析_第1页
(推荐)1.3.3算法案例(进位制)解析_第2页
(推荐)1.3.3算法案例(进位制)解析_第3页
(推荐)1.3.3算法案例(进位制)解析_第4页
(推荐)1.3.3算法案例(进位制)解析_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(推荐)1.3.3算法案例(进位制)解析1、3 算法案例(第三课时)高一年级数学组高一年级数学组 2009 3 19一、教学目标一、教学目标: : 1. 1.了解进位制的定义和常见的进位制。了解进位制的定义和常见的进位制。 2.2.理解算法与进位制的关系。理解算法与进位制的关系。 3.3.熟练掌握各种进位制之间的转化。熟练掌握各种进位制之间的转化。二、教学重难点二、教学重难点: : 重点:重点:算法与进位制的关系和各种进位制之算法与进位制的关系和各种进位制之 间的转化间的转化。 难点:难点:算法与进位制的关系、并熟练会用算算法与进位制的关系、并熟练会用算法框图和算法程序表示各种进位制之间的转法

2、框图和算法程序表示各种进位制之间的转化。化。1、什么是进位制?进位制是人们为了计数和运算方便而约进位制是人们为了计数和运算方便而约定的记数系统。定的记数系统。三、新课讲解:三、新课讲解:进位制是一种记数方式,用有限的进位制是一种记数方式,用有限的数字数字在不同在不同的位置表示不同的数值。可使用数字符号的个的位置表示不同的数值。可使用数字符号的个数称为基数,基数为数称为基数,基数为n n,即可称,即可称n n进位制,简进位制,简称称n n进制。进制。2 2、最常见的进位制是什么?除此之外还有哪、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明些常见的进位制?请举例说明 最常见的进位

3、制应该是我们数学中的十进制,比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的. 古人有半斤八两之说,就是十六进制与十进制的转换. 比如时间和角度的单位用六十进位制, 计算“一打”数值时是12进制的。 电子计算机用的是二进制 。 (1)基数:)基数:“满几进一”就是几进制,几进制的基数就是几.(2)十进制:)十进制: 比如: 满二进一,就是二进制;满二进一,就是二进制; 满十进一,就是十进制;满十进一,就是十进制; 满十二进一,就是十二进制;满十二进一,就是十二进制; 满六十进一,就是六十进制满六十进一,就是六十进制十进制的构成十进制的构成十进制由两个部分构成十进制由两个部分构成第一

4、、它有第一、它有0 09 9十个数字;十个数字;第二、它有第二、它有“数位数位”,即,即从右往左从右往左为个位、十位、为个位、十位、百位、千位等等。百位、千位等等。(用用10个数字来记数,称基数为个数字来记数,称基数为10)十进制:十进制:“满十进一满十进一”例如:例如:3721其它进位制的数又是如何的呢?其它进位制的数又是如何的呢?01231011021071037213(1)表示有:)表示有:1个个1,2个十,个十, 7个百即个百即7个个10的平的平方,方,3个千即个千即3个个10的立方的立方(2)133.59,它可用一个多项式来表示:,它可用一个多项式来表示:133.59=1102+3

5、101+3100 +5 10-1+9 10-2 式中式中1处在百位,第一个处在百位,第一个3所在十位,第二个所在十位,第二个3所在个位,所在个位,5和和9分别处在十分位和百分位。十分别处在十分位和百分位。十进制数是逢十进一的。进制数是逢十进一的。二、二、 二进制二进制二进制是用二进制是用0 0、1 1两个数字来描述的如两个数字来描述的如1100111001(1 1)二进制的表示方法)二进制的表示方法区分的写法:区分的写法:1100111001(2 2)或者或者(11001)(11001)2 2012345) 2(212120202121110011八进制呢?八进制呢? 如如73427342(8

6、)(8)k k进制呢?进制呢? a an na an-1n-1a an-2n-2aa1(k)1(k)? (2)为了区分不同的进位制,常在数的右下角标明基数,为了区分不同的进位制,常在数的右下角标明基数,十进制一般不标注基数十进制一般不标注基数. .三、二进制与十进制的转换三、二进制与十进制的转换1 1、二进制数转化为十进制数、二进制数转化为十进制数例例1 1:将二进制数:将二进制数110011110011(2)(2)化成十进制数化成十进制数。解:解:根据进位制的定义可知根据进位制的定义可知12116132151所以,所以,110011110011(2 2)=51=512 2十进制数转化为十进制

7、数转化为k k进制数的方法:进制数的方法:(除除k k取余法取余法) 用用k k连续去连续去除除该十进制数或所得的商,直到该十进制数或所得的商,直到商为零商为零为止为止,然后把每次所得的,然后把每次所得的余数倒着余数倒着排成一个数,就是排成一个数,就是相应的相应的k k进制数。进制数。例例2 2、设计一个算法,将、设计一个算法,将k k进制数进制数a(a(共有共有n n位位) ) 转换为十进制数转换为十进制数b b。(1)(1)算法步骤算法步骤: :第一步,输入第一步,输入a,k和和n的值;的值;第二步,将第二步,将b的值初始化为的值初始化为0,i的值初始化为的值初始化为1;第三步,第三步,b

8、=b+ai*ki-1, i=i+1第四步,判断第四步,判断in是否成立是否成立.若是若是,则执行第五步则执行第五步,否则否则,返回第三步;返回第三步;第五步,输出第五步,输出b的值的值.(2)(2)程序框图程序框图: :开始开始输入输入a,k,nb=0i=1input “a,k,n=”;a,k,nb=0i=1do t=a mod 10 b=b+t*k(i-1) a=a10 i=i+1loop until inprint bend(3)(3)程序:程序:b=b+t*ki-1i=i+1in?否否是是输出输出b结束结束把把a的右数第的右数第i位位数字赋给数字赋给t方法:除方法:除2 2取余法,即用取

9、余法,即用2 2连续去除连续去除8989或所得的商,然后取余数。或所得的商,然后取余数。例例3 3、 把把8989化为二进制数化为二进制数解:解:根据根据“逢二进一逢二进一”的原则,有的原则,有5 2 212(2(2(2(221)1)0)0)189126025124123022021120所以:所以:89=1011001(2)2(2(2(2321)0)0)12(2(242220)0)12(2523+2200)12624+23002089244144 222022 211011 2 51892441 2 (2220)+1 2( 2( 2110)+0)+1 2 (2 (2 (2 51)+0)+0)

10、+1 2 2(2(2(2(2(2(2(2(22 21)1)+1)+0)+0)+1+1)+0)+0)+1所以所以892(2(2(2(2 2 1)1)0)0)1四、十进制转换为二进制四、十进制转换为二进制例例4 4:把:把8989化为五进制数。化为五进制数。五、十进制转换为其它进制五、十进制转换为其它进制解:解:根据根据除除k k取余法取余法以以5 5作为除数,相应的除法算式为:作为除数,相应的除法算式为:所以,所以,89=32489=324(5 5)89895 517175 53 35 50 04 42 23 3余数余数注意:注意:1. 1.最后一步商为最后一步商为0 0,2.2.将上式各步所得

11、的余数将上式各步所得的余数从下到上排列从下到上排列,得到:,得到: 89=101100189=1011001(2 2)另解(另解(除除2 2取余法的另一直观写法取余法的另一直观写法):):5 52 22 22 21 12 20 01 10 0余数余数11112222444489892 22 22 22 20 01 11 10 01 1练习练习将下面的十进制数化为二进制数?将下面的十进制数化为二进制数?(1 1)1010(2 2)2020m m进制与进制与k k进制之间转换的方法;进制之间转换的方法; 以十进制为桥梁以十进制为桥梁例例2 2、设计一个算法,将、设计一个算法,将k k进制数进制数a

12、(a(共有共有n n位位) ) 转换为十进制数转换为十进制数b b。(1)(1)算法步骤算法步骤: :第一步,输入第一步,输入a,k和和n的值;的值;第二步,将第二步,将b的值初始化为的值初始化为0,i的值初始化为的值初始化为1;第三步,第三步,b=b+ai*ki-1, i=i+1第四步,判断第四步,判断in是否成立是否成立.若是若是,则执行第五步则执行第五步,否则否则,返回第三步;返回第三步;第五步,输出第五步,输出b的值的值.(2)(2)程序框图程序框图: :开始开始输入输入a,k,nb=0i=1input “a,k,n=”;a,k,nb=0i=1do t=a mod 10 b=b+t*k

13、(i-1) a=a10 i=i+1loop until inprint bend(3)(3)程序:程序:b=b+t*ki-1i=i+1in?否否是是输出输出b结束结束把把a的右数第的右数第i位位数字赋给数字赋给t例例5 5、设计一个程序,实现、设计一个程序,实现“除除k k取余法取余法”。(1)、 算法步骤:算法步骤:第一步,给定十进制正整数a和转化后的数的基数k;第二步,求出a 除以k 所得的商q ,余数r;第三步,若q 0, 则a=q, 返回第二步;否则,执行第四步;第四步,将依次得到的余数从右到左排列,得到k 进制数。( 1 6 )( 7 )( 1 2 )( 2 )下 列 写 法 正 确

14、 的 是 : ( )a 、 7 5 1 b 、 7 5 1 c 、 0 9 5 d 、 9 0 1(2 2)程序框图:)程序框图:开始开始输入输入a,k 求求a除以除以k的商的商q 求求a除以除以k的余数的余数rq=0?是是否否 a=q 将依次输出的将依次输出的r从右到左排从右到左排列列结束结束输出输出rinput “ainput “a,k=”k=”;a,ka,kb=0b=0i=0i=0dodo q=ak q=ak r=a mod k r=a mod k b=b+r b=b+r* *10i10i i=i+1 i=i+1 a=q a=qloop until q=0loop until q=0print bprint bendend(3)程序:程序:anoimage课堂练

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论