10.§1.3.3算法案例—进位制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教师课时教案
备课人授课时间
课题§1.3.3算法案例—进位制
课标要求了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。

教学目标
知识目标了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。

技能目标学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k去余法,并理解其中的数学规律。

情感态度价值观领悟十进制,二进制的特点,了解计算机的电路与二进制的联系,进一步认识到计算机与数学的联系。

重点各进位制表示数的方法及各进位制之间的转换
难点除k取余法的理解以及各进位制之间转换的程序框图的设计
教学过程及方法
问题与情境及教师活动学生活动
一.复习引入
在日常生活中,我们最熟悉、最常用的是十进制,据说这与
古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、
十二进制、六十进制,至今我们仍然使用一周七天、一年十二个
月、一小时六十分的历法.今天我们来学习一下进位制
二.研探新知
探究一: 进位制的概念
思考1:进位制是为了计数和运算方便而约定的记数系统,如逢十
进一,就是十进制;每七天为一周,就是七进制;每十二
个月为一年,就是十二进制,每六十秒为一分钟,每六十
分钟为一个小时,就是六十进制;等等.一般地,“满k进
一”就是k进制,其中k称为k进制的基数.那么k是一个
什么范围内的数?
思考2:十进制使用0~9十个数字,那么二进制、五进制、七进制
分别使用哪些数字?
思考3:在十进制中10表示十,在二进制中10表示2.一般地,若
k是一个大于1的整数,则以k为基数的k进制数可以表
示为一串数字连写在一起的形式:
)
(0
1
1k
n
n
a
a
a
a
-
其中
各个数位上的数字
n
a ,
1-
n
a ,…,
1
a,
a的取值范围如
何?
教学过程及方法
问题与情境及教师活动学生活动
思考4:十进制数4528表示的数可以写成
1
2
310
8
10
2
10
5
10
4⨯
+

+

+
⨯,依此类比,二进制数
)2(
110011,八进制数
)8(
7342分别可以写成什么式子?
思考5:一般地,如何将k进制数)(0
1
1k
n
n
a
a
a
a
-
写成各数位上
的数字与基数k的幂的乘积之和的形式?
思考6:在二进制中,0+0,0+1,1+0,1+1的值分别是多少?
探究二: k进制化十进制的算法
思考1:【例3】二进制数110011(2)化为十进制数是什么数?
思考2:二进制数右数第i位数字
i
a化为十进制数是什么数?
思考3:【例4】运用循环结构,把二进制数
)2(0
1
1
a
a
a
a
a
n
n
-
=化为
十进制数b的算法步骤如何设计?
算法分析:从例3的计算过程可以看出,计算k进制数a的右数第i位
数字a i与k i-1的乘积a i·k i-1,再将其累加,这是一个重复操
作的步骤.所以,可以用循环结构来构造算法.
算法步骤如下:
第一步,输入a,k和n的值.
第二步,将b的值初始化为0,
i的值初始化为1.
第三步,b=b+a i·k i-1,i=i+1.
第四步,判断i>n是否成立.
若是,则执行第五步;
否则,返回第三步.
第五步,输出b的值.
程序框图如右图:
思考6:该程序框图对应的程序如何表述?
教学过程及方法
问题与情境及教师活动学生活动探究三:除k取余法
思考1:二进制数101101(2)化为十进制数是什么数?【例5】十进制数
89化为二进制数是什么数?
解:根据二进制数“满二进一”的原则,可以用2连续去除89或所得商,然后取余数.具体计算方法如下:
因为89=2×44+1,44=2×22+0,
22=2×11+0,
11=2×5+1,
5=2×2+1,
2=2×1+0,
1=2×0+1,
所以89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1
=2×(2×(2×(2×(22+1)+1)+0)+0)+1
=…=1×26+0×25+1×24+1×23+0×22+0×21+1×20
=1 011 001(2).
思考2:上述化十进制数为二进制数的算法叫做除2取余法,转化过程有
些复杂,观察下面的算式你有什么发现
吗?
把上式中各步所得的余数从下到上排列,
得到89=1 011 001(2).
思考3:上述方法也可以推广为把十进制数化为k
进制数的算法,称为除k取余法。

十进制数191化为五进制数是什么数?
INPUT“a,k,n=”;a,k,n
b=0
i=1
t=a MOD 10
DO
b=b+t*k^(i-1)
a=a\10
t=a MOD 10
i=i+1
LOOP UNTIL i>n
PRINT b
END
INPUT “a ,k=”;a ,k b=0 i=0
DO
q=a\k r=a MOD k b=b+r*10^i
i=i+1
a=q LOOP UNTIL q=0 PRINT b
END 教 学 过 程 及 方 法
问题与情境及教师活动
学生活动
思考4:根据上面分析,【例6】利用除k 取余法,将十进制数a 化为k 进
制数的算法步骤如何设计?
算法分析:从例5的计算过程可以看出如下的规律: 若十制数a 除以k 所得商是q 0,余数是r 0,即a=k·q 0+r 0,则r 0是a 的k 进制数的右数第1位数.
若q 0除以k 所得的商是q 1,余数是r 1,即q 0=k·q 1+r 1,则r 1是a 的k 进制数的左数第2位数. ……
若q n-1除以k 所得的商是0,余数是r n ,即q n-1=r n ,则r n 是a 的k 进制数的左数第1位数.
这样,我们可以得到算法步骤如下:
第一步,给定十进制正整数a 和转化后的数的基数k. 第二步,求出a 除以k 所得的商q ,余数r. 第三步,把得到的余数依次从右到左排列.
第四步,若q≠0,则a=q ,返回第二步;否则,输出全部余数r 排列
得到的k 进制数.
思考5:将除k 取余法的算法步骤用程序框图如何表示?
程序框图如右图:
思考6:框图对应的程序如何表述?
三.随堂练习
P 45 练习 3.
教 学 小 结
(1)理解算法与进位制的关系. (2)熟练掌握各种进位制之间转化
课后 反思。

相关文档
最新文档