1.3 算法案例——进位制 课件

文档属性

名称 1.3 算法案例——进位制 课件
格式 zip
文件大小 264.3KB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2016-12-04 10:21:33

图片预览

文档简介

课件19张PPT。1.3 算法案例进位制“满十进一”就是十进制,半斤=八两? 一小时有六十分一个星期有七天一年有十二个月电子计算机“满k进一”就是k进制(k叫做基数).进位制 进位制是人们为了计数和运算方便而约定的记数系统.“满二进一”就是二进制,用的是六十进制用的是七进制用的是十二进制用的是二进制【学习目标】
1、了解进位制的概念,理解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换.
2、根据对进位制的理解,体会计算机的计数原理;
3、了解进位制的程序框图及程序.
学习重点:
各进位制表示数的方法及各进位制之间的转换.
学习难点:
“除k取余法”的理解.【课前导学】1、一般地,“满k进一”就是k进制,其中k称为k进制
的______,那么数k的范围是_________________.
2、十进制使用0~9十个数字,那么二进制、五进制、
七进制分别使用哪些数字? 3、十进制数3721中的3表示3个____, 7表示7个____,2表示2个10,1表示1个1.于是,我们得到这样的式子: 3721=______________________________________.4、一般地,若k是一个大于1的整数,则以k为基数的k进制数 可以表示为一串数字连写在一起的形式: , 其中各个数位上的数字 的取值范围如何?K是大于1的整数基数0,10,1,2,3,40,1,2,3,4,5,6103102 为了区分不同的进位制,
常在数的右下角标明基数,
十进制数一般不标注基数. 【预习自测】
1、下列写法正确的是( ) 2、将以下数字表示成不同位上的数字与基数的幂的乘积之和的形式:一般地,作用:将k进制数转化为十进制数6×73+5×72+0×71+4×701×25+1 ×24+ 0×23+0 ×22 +1×21+1 ×20A307194例1、(1)比较110011(2)、324(5)、123(4)、55(6)四个数的大小; (2)已知k进制的数132(k)与十进制的数30相等,求k的值.【课内探究】例2、把89化为三进制数.展示:例1、(1)比较110011(2)、324(5)、123(4)、55(6)               四个数的大小;解:方法:化为十进制再比较大小(2)已知k进制的数132(k)与十进制的数30相等,求k的值.解:除3取余法3= 3× 1+029= 3×9+2例2、把89化为三进制数解:1= 3× 0+1=3×( 3×9+2 )+2所以,89=10022(3)=32×( 3×3+0 )+2 × 3 +2=33×( 3× 1 +0 )+ 0 × 32 + 2 × 3+2=1×34 + 0 × 33+0 × 32+2 × 3+2×3089=3×29+29= 3×3+0则 89= 3×29+2如何将十进制数转化为三进制数
?你能看出它的规律吗?8933333299310余数22001所以,89=10022(3)解:注意:
1.最后一步商为0,
2.将上式各步所得的余数从下到上排列,得到: 89=10022(3)
小结:将十进制数转化为k进制数的方法:除k取余法十进制1111101111037631.进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符号的个数称为基数,基数为k,即可称k进位制,简称k进制.2.k进制转化十进制的方法:
把这个k进制数写成用各位上的数字与k的幂的乘积之和的形式:小结:3.十进制数转化为k进制数的方法:除k取余法
  用k连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的k进制数. 【课后作业】3、已知10b1(2)=a02(3),求数字a,b的值.所以2b+9=9a+2,即9a-2b=7. 解:10b1(2)=1×23+b×2+1=2b+9.a02(3)=a×32+2=9a+2.故a=1,b=1. 设计一个程序,把k进制化为十进制.思考与探究设计一个算法,把k 进制数a(共有n位)化为十进制数? 算法分析:
从前面的例题的计算过程可以看出,计算k进制数a的右数第i位数字ai 与ki-1的乘积ai ·ki-1,再将其累加,这是一个重复操作的步骤.所以,可以用循环结构来构造算法.算法步骤如下:第一步,输入a,k和n的值.第二步,将b的值初始化为0,i的值初始化为1.第三步,b=b+ ai ·ki-1,i=i+1.第四步,判断i>n是否成立.若是,则执行第五步;否则,返回第三步.第五步,输出b的值.设计一个程序,实现“除k取余法”.算法步骤:第一步,给定十进制正整数a和转化后的数的基数k;第二步,求出a 除以k 所得的商q ,余数r;第三步,把得到的余数依次从右到左排列.第四步,若q≠0,则a=q,返回第二步;否则,输出全部余数r排 列得到的k进制数.是否程序:INPUT “a,k=”;a,k
b=0
i=0
DO
q=ak
r=a MOD k
b=b+r*10^i
i=i+1
a=q
LOOP UNTIL q=0
PRINT b
END