收藏 分销(赏)

算法案例进位制.pptx

上传人:精**** 文档编号:4185356 上传时间:2024-08-12 格式:PPTX 页数:26 大小:313.76KB 下载积分:10 金币
下载 相关 举报
算法案例进位制.pptx_第1页
第1页 / 共26页
算法案例进位制.pptx_第2页
第2页 / 共26页


点击查看更多>>
资源描述
第三课时第三课时算法案例复习引入复习引入:1 1、秦九韶算法的方法和步骤?、秦九韶算法的方法和步骤?2 2、秦九韶算法的程序框图?、秦九韶算法的程序框图?3 3、举例说明日常生活中的进位制。、举例说明日常生活中的进位制。一、进位制一、进位制1 1、什么是进位制?、什么是进位制?进位制是人们为了计数和运算方便而约定的记数系统。进位制是人们为了计数和运算方便而约定的记数系统。进位制是一种记数方式,用有限的进位制是一种记数方式,用有限的数字数字在不同的位在不同的位置表示不同的数值。可使用数字符号的个数称为基置表示不同的数值。可使用数字符号的个数称为基数,基数为数,基数为n n,即可称,即可称n n进位制,简称进位制,简称n n进制。进制。新课讲解:新课讲解:比如:满二进一,就是二进制;满二进一,就是二进制;满十进一,就是十进制;满十进一,就是十进制;满十二进一,就是十二进制;满十二进一,就是十二进制;满六十进一,就是六十进制满六十进一,就是六十进制“满几进一”就是几进制,几进制的基数就是几.基数:基数:2 2、最常见的进位制是什么?除此之外还有哪、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明些常见的进位制?请举例说明v最常见的进位制应该是我们数学中的十进制,比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的.v古人有半斤八两之说,就是十六进制与十进制的转换.v比如时间和角度的单位用六十进位制,计算“一打”数值时是12进制的。v电子计算机用的是二进制。因为人手指头只有10根 式式中中1 1处处在在百百位位,第第一一个个3 3所所在在十十位位,第第二二个个3 3所所在在个个位位,5 5和和9 9分分别别处处在在十十分分位位和和百百分分位位。十十进进制制数数是是逢逢十进一的。十进一的。我们最常用最熟悉的就是十进制数,它的数值部分是十个不我们最常用最熟悉的就是十进制数,它的数值部分是十个不同的数字符号同的数字符号0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9来表示的。来表示的。十进制:十进制:例如例如133.59133.59,它可用一个多项式来表示:,它可用一个多项式来表示:133.59=1x10133.59=1x102 2+3x10+3x101 1+3x10+3x100 0+5x10+5x10-1-1+9x10+9x10-2-2 实际上,十进制数只是计数法中的一种,但它不是唯一实际上,十进制数只是计数法中的一种,但它不是唯一记数法。除了十进制数,生产生活中还会遇到非十进制的记数法。除了十进制数,生产生活中还会遇到非十进制的记数制。如时间:记数制。如时间:6060秒为秒为1 1分,分,6060分为分为1 1小时,它是六十进小时,它是六十进制的。两根筷子一双,两只手套为一副,它们是二进制的。制的。两根筷子一双,两只手套为一副,它们是二进制的。其它进制:其它进制:二进制、七进制、八进制、十二进制、六十进制二进制只有0和1两个数字,七进制用06七个数字十六进制有09十个数字及ABCDEF六个字母.为了区分不同的进位制,常在数的右下角标明基数,为了区分不同的进位制,常在数的右下角标明基数,十进制一般不标注基数十进制一般不标注基数.例如十进制的例如十进制的133.59133.59,写成,写成133.59133.59(10)(10)七进制的七进制的1313,写成,写成1313(7)(7);二进制的;二进制的1010,写成,写成1010(2)(2)一般地,若一般地,若k k是一个大于是一个大于1 1的整数,那么以的整数,那么以k k为基数的为基数的k k进制可以表示为一串数字连写在一起进制可以表示为一串数字连写在一起的形式:的形式:A3 3、十进制的构成、十进制的构成十进制由两个部分构成十进制由两个部分构成例如:例如:37213721其它进位制的数又是如何的呢?其它进位制的数又是如何的呢?第一、它有第一、它有0 09 9十个数字;十个数字;第二、它有第二、它有“数位数位”,即,即从右往左从右往左为个位、十位、为个位、十位、百位、千位等等。百位、千位等等。(用用1010个数字来记数,称基数为个数字来记数,称基数为10)10)表示有:表示有:1 1个个1 1,2 2个十,个十,7 7个百即个百即7 7个个1010的平方,的平方,3 3个千即个千即3 3个个1010的立方的立方十进制:十进制:“满十进一满十进一”探究:探究:P40P40其它进制数化成十进制数公式二、二、二进制二进制二进制是用二进制是用0 0、1 1两个数字来描述的如两个数字来描述的如1100111001二进制的表示方法二进制的表示方法区分的写法:区分的写法:1100111001(2 2)或者或者(11001)(11001)2 2八进制呢?八进制呢?如如73427342(8)(8)k k进制呢?进制呢?a an na an-1n-1a an-2n-2a a1(k)1(k)?三、二进制与十进制的转换三、二进制与十进制的转换1 1、二进制数转化为十进制数、二进制数转化为十进制数例例1 1:将二进制数:将二进制数110011110011(2)(2)化成十进制数。化成十进制数。解:解:根据进位制的定义可知根据进位制的定义可知所以,所以,110011110011(2 2)=51=51其它进制数化成十进制数公式1 1、将下面的二进制数化为十进制数?、将下面的二进制数化为十进制数?(1 1)1111(2 2)110110练习练习2 2、把其他进位制的数化为十进制数的公式是什么?、把其他进位制的数化为十进制数的公式是什么?例2、设计一个算法,将k进制数a(共有n位)转换为十进制数b。(1)(1)算法步骤算法步骤:第一步,输入a,k和n的值;第二步,将b的值初始化为0,i的值初始化为1;第三步,b=b+ai*ki-1,i=i+1第四步,判断in是否成立.若是,则执行第五步,否则,返回第三步;第五步,输出b的值.(2)(2)程序框图程序框图:开始开始输入输入a,k,na,k,nb=0b=0i=1i=1把把a a的右数第的右数第i i位数字赋给位数字赋给t tb=b+t*ki-1i=i+1i=i+1in?in?否否是是输出输出b b结束结束(3)(3)程序:程序:INPUT INPUT“a,k,n=a,k,n=”;a,k,n;a,k,nb=0b=0i=1i=1t=a MOD 10t=a MOD 10DODO b=b+t*k(i-1)b=b+t*k(i-1)a=a10 a=a10 t=a MOD 10 t=a MOD 10 i=i+1 i=i+1LOOP UNTIL inLOOP UNTIL inPRINT bPRINT bENDEND上面的程序如采用get函数,可简化为:INPUT a,k,nINPUT a,k,ni=1i=1b=0b=0WHILE i=nWHILE i=nt=GET ait=GET aib=t*k(i-1)+bb=t*k(i-1)+bi=i+1i=i+1WENDWENDPRINT bPRINT bENDEND备注备注:GETGET函数用于取出函数用于取出a a的右数第的右数第i i位数位数方法:除方法:除2 2取余法,即用取余法,即用2 2连续去除连续去除8989或所得的商,然后取余数。或所得的商,然后取余数。例、例、把把8989化为二进制数化为二进制数解:解:根据根据“逢二进一逢二进一”的原则,有的原则,有8989244441 2 (2(222220)0)+1 2(2(2(211110)0)+0)+1 2(2(2 (2(2 5 51)1)+0)+0)+15 2 2 2 21 122(22(22(22(2 22 21 1)1 1)0 0)0 0)1 1898912126 602025 512124 412123 302022 202021 112120 0所以:所以:89=101100189=1011001(2 2)22(22(22(2 23 32 21 1)0 0)0 0)1 122(22(2 24 42 22 22 20 0)0 0)1 122(2 25 52 23 3+2+22 20 00 0)1 12 26 62 24 4+2+23 30 00 02 20 08989244441 14444 2222220 022 2211110 011 22 5 51 1 2(2(2(2 (2(2 2 21)1)+1)+1)+0)+0)+1所以所以898922(22(22(22(2 2 2 2 1 1)1 1)0 0)0 0)1 12 2、十进制转换为二进制、十进制转换为二进制注意:注意:1.1.最后一步商为最后一步商为0 0,2.2.将上式各步所得的余数将上式各步所得的余数从下到上排列从下到上排列,得到:,得到: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)2020例例1 1:把:把8989化为五进制数。化为五进制数。3 3、十进制转换为其它进制、十进制转换为其它进制解:解:根据根据除除k k取余法取余法以以5 5作为除数,相应的除法算式为:作为除数,相应的除法算式为:所以,所以,89=32489=324(5 5)89895 517175 53 35 50 04 42 23 3余数余数例例2 2、设计一个程序,实现、设计一个程序,实现“除除k k取余法取余法”。(1)(1)、算法步骤:算法步骤:第一步,给定十进制正整数a和转化后的数的基数k;第二步,求出a 除以k 所得的商q,余数r;第三步,若q 0,则a=q,返回第二步;否则,执行第四步;第四步,将依次得到的余数从右到左排列,得到k 进制数。(2 2)程序框图:)程序框图:开始开始输入输入a,ka,k 求求a a除以除以k k的商的商q q 求求a a除以除以k k的余数的余数r rq=0?q=0?是是否否 a=qa=q 将依次输出的将依次输出的r r从右到左排从右到左排列列结束结束输出输出r r(3)(3)程序:程序:INPUT INPUT“a a,k=k=”;a,ka,kb=0b=0i=0i=0DODO q=akq=ak r=a MOD kr=a MOD k b=b+r*10ib=b+r*10i i=i+1i=i+1 a=qa=qLOOP UNTIL q=0LOOP UNTIL q=0PRINT bPRINT bENDEND练习:练习:完成下列进位制之间的转化:完成下列进位制之间的转化:(1 1)1023110231(4 4)=(1010);(2 2)235235(7 7)=(1010);(3 3)137137(1010)=(6 6);(4 4)12311231(5 5)=(7 7);(5 5)213213(4 4)=(3 3);(6 6)10101111010111(2 2)=(4 4)。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服