1、河北武邑中学教师课时教案备课人 授课时间课题 1.3.3 算法案例进位制课标要求 了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。知识目标 了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。技能目标 学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除 k 去余法,并理解其中的数学规律。教学目标 情感态度价值观 领悟十进制,二进制的特点,了解计算机的电路与二进制的联系,进一步认识到计算机与数学的联系。重点 各进位制表示数的方法及各进位制之间的转换难点 除 取余法的理解以及各进位制之
2、间转换的程序框图的设计k问题与情境及教师活动 学生活动教学过程及方法一复习引入在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.今天我们来学习一下进位制二研探新知探究一: 进位制的概念思考 1:进位制是为了计数和运算方便而约定的记数系统,如逢十进一,就是十进制;每七天为一周,就是七进制;每十二个月为一年,就是十二进制,每六十秒为一分钟,每六十分钟为一个小时,就是六十进制;等等.一般地,“满 进一”就是 进制,其中 称为 进制的基数.那kkk么 是一个什么范围
3、内的数?思考 2:十进制使用 09 十个数字,那么二进制、五进制、七进制分别使用哪些数字?思考 3:在十进制中 10 表示十,在二进制中 10 表示 2.一般地,若 是一个大于 1 的整数,则以 为基数的 进制数可以kk表示为一串数字连写在一起的形式: 其)(01kna中各个数位上的数字 , ,, , 的取值范na11围如何?1河北武邑中学教师课时教案问题与情境及教师活动 学生活动教学过程及方法思考 4:十进制数 4528 表示的数可以写成,依此类比,二进制数012380514,八进制数 分别可以写成什么式子?)( )(734思考 5:一般地,如何将 进制数 写成各数位上k)(01kna的数字
4、与基数 的幂的乘积之和的形式?思考 6:在二进制中,0+0,0+1,1+0,1+1 的值分别是多少?探究二: 进制化十进制的算法k思考 1:【例 3】二进制数 110011(2) 化为十进制数是什么数?思考 2:二进制数右数第 i 位数字 化为十进制数是什么数?ia思考 3:【例 4】运用循环结构,把二进制数 化为)2(01an十进制数 b 的算法步骤如何设计?算法分析:从例 3 的计算过程可以看出,计算 k 进制数 a 的右数第 i 位数字 ai 与 ki-1 的乘积 aiki-1,再将其累加,这是一个重复操作的步骤.所以,可以用循环结构来构造算法.算法步骤如下:第一步,输入 a,k 和 n
5、 的值.第二步,将 b 的值初始化为 0,i 的值初始化为 1.第三步,b=b+a iki-1,i=i+1.第四步,判断 in 是否成立 .若是,则执行第五步;否则,返回第三步.第五步,输出 b 的值.程序框图如右图:思考 6:该程序框图对应的程序如何表述?2河北武邑中学教师课时教案教学问题与情境及教师活动 学生活动过程及方法探究三:除 取余法k思考 1:二进制数 101101(2) 化为十进制数是什么数?【例 5】十进制数 89 化为二进制数是什么数?解:根据二进制数“满二进一”的原则,可以用 2 连续去除 89 或所得商,然后取余数.具体计算方法如下:因为 89=244+1,44=222+
6、0,22=211+0,11=25+1,5=22+1,2=21+0,1=20+1,所以 89=2(2(2(2 (22+1)+1)+0 )+0)+1=2(2(2(2 (2 2+1)+1)+0)+0)+1=126+025+124+123+022+021+120=1 011 001(2).思考 2:上述化十进制数为二进制数的算法叫做除 2 取余法,转化过程有些复杂,观察下面的算式你有什么发现吗?把上式中各步所得的余数从下到上排列,得到 89=1 011 001(2).思考 3:上述方法也可以推广为把十进制数化为 k进制数的算法,称为除 取余法。k十进制数 191 化为五进制数是什么数?3河北武邑中学教
7、师课时教案教学过问题与情境及教师活动 学生活动INPUT “a,k,n=”;a,k,nb=0i=1t=a MOD 10DOb=b+t*k(i-1)a=a10t=a MOD 10i=i+1LOOP UNTIL inPRINT bENDINPUT “a,k=”;a,kb=0i=0DOq=akr=a MOD kb=b+r*10ii=i+1a=qLOOP UNTIL q=0PRINT bEND程及方法思考 4:根据上面分析, 【例 6】利用除 取余法,将十进制数 a 化为k进制数的算法步骤如何设计?k算法分析:从例 5 的计算过程可以看出如下的规律:若十制数 a 除以 k 所得商是 q0,余数是 r0
8、,即 a=kq0+r0,则 r0 是a 的 k 进制数的右数第 1 位数.若 q0 除以 k 所得的商是 q1,余数是 r1,即 q0=kq1+r1,则 r1 是 a的 k 进制数的左数第 2 位数.若 qn-1 除以 k 所得的商是 0,余数是 rn,即 qn-1=rn,则 rn 是 a 的 k进制数的左数第 1 位数.这样,我们可以得到算法步骤如下:第一步,给定十进制正整数 a 和转化后的数的基数 k.第二步,求出 a 除以 k 所得的商 q,余数 r.第三步,把得到的余数依次从右到左排列.第四步,若 q0,则 a=q,返回第二步;否则,输出全部余数 r 排列得到的 k 进制数.思考 5:将除 取余法的算法步骤用程序框图如何表示?程序框图如右图:思考 6:框图对应的程序如何表述?三随堂练习P45 练习 3. 教学小结(1)理解算法与进位制的关系.(2 )熟练掌握各种进位制之间转化课后反思4