1、1.3 算法案例进位制教学要求:了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换;学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除 k 去余法,并理解其中的数学规律.教学重点:各种进位制之间的互化.教学难点:除 k 取余法的理解以及各进位制之间转换的程序框图及其程序的设计.教学过程:知识探究(一):进位制的概念 思考 1:进位制是为了计数和运算方便而约定的记数系统,如逢十进一,就是十进制;每七天为一周,就是七进制;每十二个月为一年,就是十二进制,每六十秒为一分钟,每六十分钟为一个小时,就是六十进制;等等.一般地, “满 k 进
2、一”就是 k 进制,其中 k 称为 k进制的基数.那么 k 是一个什么范围内的数? 思考 2:十进制使用 09 十个数字,那么二进制、五进制、七进制分别使用哪些数字? 思考 3:在十进制中 10 表示十,在二进制中10 表示 2.一般地,若 k 是一个大于 1 的整数,则以 k 为基数的 k 进制数可以表示为一串数字连写在一起的形式:a nan-1a1a0(k).其中各个数位上的数字 an,a n-1,a 1,a 0 的取值范围如何?思考 4:十进制数 4528 表示的数可以写成 4103+5102+2101+8100,依此类比,二进制数 110011(2),八进制数 7342(8)分别可以写
3、成什么式子?110011(2)=125+124+023+022+121+1207342(8)=783+382+481+280.思考 5:一般地,如何将 k 进制数 anan-1a1a0(k)写成各数位上的数字与基数 k 的幂的乘积之和的形式? 011)(01 akankn 思考 6:在二进制中,0+0 ,0+1,1+0,1+1 的值分别是多少?知识探究(二):k 进制化十进制的算法 思考 1:二进制数 110011(2)化为十进制数是什么数?110011(2)=125+124+023+022+121+120 =32+16+2+1=51. 思考 2:二进制数右数第 i 位数字 ai 化为十进制数
4、是什么数?1ia例 1 将下列各进制数化为十进制数.(1)10303(4) ; (2)1234(5).10303(4)=144+342+340=307.1234(5)=153+252+351+450=194. 知识探究(三): 除 k 取余法思考 1:二进制数 101101(2)化为十进制数是什么数?十进制数 89 化为二进制数是什么数?思考 2:上述化十进制数为二进制数的算法叫做除 2 取余法,转化过程有些复杂,观察下面的算式你有什么发现吗? 215021428910101余 数余 数思考 3:上述方法也可以推广为把十进制数化为 k 进制数的算法,称为除 k 取余法,那么十进制数 191 化
5、为五进制数是什么数?191=1231(5)例 2 将十进制数 458 分别转化为四进制数和六进制数.458=13022(4)=2042(6)例 3 将五进制数 30241(5)转化为七进制数. 30241(5)=354+252+45+1=1946. 30241(5)=5450(7) 例 4 已知 10b1(2)=a02(3),求数字 a,b 的值.10b1(2)=123+b2+1=2b+9.a02(3)=a32+2=9a+2.所以 2b+9=9a+2,即 9a-2b=7. 故 a=1,b=1. 小结作业1.利用除 k 取余法,可以把任何一个十进制数化为 k 进制数,并且操作简单、实用.2.通过
6、 k 进制数与十进制数的转化,我们也可以将一个 k 进制数转化为另一个不同基数的k 进制数.作业:教学反思:0515738191321余 数余 数0417428153余 数余 数 062176458242余 数余 数0757392819460545余 数余 数1.3 算法案例辗转相除法与更相减损术一、三维目标(a)知识与技能1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析。2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。(b)过程与方法在辗转相除法与更相减损术求最大公约数的学习过程中对比我们常见的约分求公因式的方法,比较它们在算法上的区别,并
7、从程序的学习中体会数学的严谨,领会数学算法计算机处理的结合方式,初步掌握把数学算法转化成计算机语言的一般步骤。(c)情态与价值观1.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。2.在学习古代数学家解决数学问题的方法的过程中培养严谨的逻辑思维能力,在利用算法解决数学问题的过程中培养理性的精神和动手实践的能力。二、教学重难点重点:理解辗转相除法与更相减损术求最大公约数的方法。难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。三、教学设计(一)创设情景,揭示课题1.教师首先提出问题:在初中,我们已经学过求最大公约数的知识,你能求出 18 与 30的公约数吗?2
8、.接着教师进一步提出问题,我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求 8251 与 6105 的最大公约数?这就是我们这一堂课所要探讨的内容。(二)研探新知1.辗转相除法例 1 求两个正数 8251 和 6105 的最大公约数。解:8251610512146显然 8251 的最大公约数也必是 2146 的约数,同样 6105 与 2146 的公约数也必是 8251的约数,所以 8251 与 6105 的最大公约数也是 6105 与 2146 的最大公约数。6105214621813 21461813
9、133318133335148 3331482371483740则 37 为 8251 与 6105 的最大公约数。以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在公元前 300 年左右首先提出的。利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数 m 除以较小的数 n 得到一个商 q0和一个余数 r0;第二步:若 r00,则 n 为 m,n 的最大公约数;若 r00,则用除数 n 除以余数 r0得到一个商 q1和一个余数 r1;第三步:若 r10,则 r1为 m,n 的最大公约数;若 r10,则用除数 r0除以余数 r1得到一个商 q2和一个余数 r2;依次
10、计算直至 rn0,此时所得到的 rn1 即为所求的最大公约数。(1)辗转相除法的程序框图及程序程序框图:(略)程序:(当循环结构) 直到型结构见书 37 面。INPUT “m=”;mINPUT “n=”;nIF m0 r=m MOD nm=nn=rWENDPRINT mEND练习:利用辗转相除法求两数 4081 与 20723 的最大公约数(答案:53)2.更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术。更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母子之数,以少减多,更相减损,求其等也,以等数约之。翻译出来为:第一步:任意给出两个正数;判断它们是否都是偶数。
11、若是,用 2 约简;若不是,执行第二步。第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。例 2 用更相减损术求 98 与 63 的最大公约数.解:由于 63 不是偶数,把 98 和 63 以大数减小数,并辗转相减,即:9863356335283528728721217141477所以,98 与 63 的最大公约数是 7。练习:用更相减损术求两个正数 84 与 72 的最大公约数。 (答案:12)3.比较辗转相除法与更相减损术的区别(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相
12、减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相等而得到5.课堂练习一.用辗转相除法求下列各组数的最大公约数,并在自己编写的 BASIC 程序中验证。(1)225;135 (2)98;196 (3)72;168 (4)153;1196.小结:辗转相除法与更相减损术求最大公约数的计算方法及完整算法程序的编写。作业:教学反思:1.3 算法案例一、三维目标(a)知识与技能了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的
13、实质。(b)过程与方法模仿秦九韶计算方法,体会古人计算构思的巧妙。(c)情态与价值观通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。充分认识信息技术对数学的促进。二、教学重难点重点:1.秦九韶算法的特点难点:1.秦九韶算法的先进性理解三、教学设计(一)创设情景,揭示课题1.辗转相除法和更相减损术,是求两个正整数的最大公约数的优秀算法,我们将算法转化为程序后,就可以由计算机来执行运算,实现了古代数学与现代信息技术的完美结合.2.对于求 n 次多项式的值,在我国古代数学中有一个优秀算法,即秦九韶算法,我们将对这个算法作些了解和探究.(二)研探新知思考 1 21
14、325).5(,12345)( fxxf 求已 知 算法 1:需要(5+4+3+2)=14 次乘法,5 次加法算法 2:需要 5 次乘法,5 次加法 秦九韶算法思考 2 18556).3(,123467)(5 fxf 求已 知思考 3:利用后一种算法求多项式 f(x)=anxn+an-1xn-1+a1x+a0的值,这个多项式应写成哪种形式?f(x)=anxn+an-1xn-1+a1x+a0=(anxn-1+an-1xn-2+a2x+a1)x+a0=(anxn-2+an-1xn-3+a2)x+a1)x+a0=(anx+an-1)x+an-2)x+a1)x+a0.思考 4:对于 f(x)=(anx
15、+an-1)x+an-2)x+a1)x+a0,由内向外逐层计算一次多项式的值,其算法步骤如何? 第一步,计算 v1=anx+an-1. 第二步,计算 v2=v1x+an-2.第三步,计算 v3=v2x+an-3.第 n 步,计算 vn=vn-1x+a0.思考 5:上述求多项式 f(x)=anxn+an-1xn-1+a1x+a0的值的方法称为秦九韶算法,利用该算法求 f(x0)的值,一共需要多少次乘法运算,多少次加法运算? 思考 6:在秦九韶算法中,记 v0=an,那么第 k 步的算式是什么?vk=vk-1x+an-k (k=1,2,n)例 1 阅读下列程序,说明它解决的实际问题是什么?求多项式
16、 ,在 x=a 时的值. 43251)( xxf小结:评价一个算法好坏的一个重要标志是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论算法.在多项式求值的各种算法中,秦九韶算法是一个优秀算法. 作业:教学反思:1.4 小结一.本章的知识结构INPUT “x=”; an0yWHLE = AND OR NOT作用 赋值 小于,大于且 或 非3.算法的表示:(一)自然语言(写算法步骤) 例 1:已知平面直角坐标系中的两点 A(1,0)B(3,2) ,写出求线段 AB 的垂直平分线方程的一个算法。三种基本逻辑结构1. 顺序结构 2. 条件结构 3. 循
17、环结构1)当型循环(二)画程序框图2)直到型循环五种基本算法语句1)输入语句 INPUT “提示内容” ;变量INPUT “提示内容 1,提示内容 2,” ;变量 1,变量 2,2)输出语句 PRINT “提示内容” ;表达式3)赋值语句 变量=表达式4)条件语句IF-THEN-ELSE 格式 IF-THEN 格式IF 条件 THEN语句 1ELSE语句 2END IFIF 条件 THEN语句END IF(三)编写程序5)循环语句(三)典型试题.以下给出的是计算 201.6421的值的一 个程序图,其中判断框内应填入的条件是( ) . i10 C. i10 D.i102. 若输入 5,通过下列程序运行后输出的结果是 。INPUT ns=0(1)WHILE 语句 (2)UNTIL 语句WHILE 条件循环体WENDDO循环体LOOP UNTIL 条件算法案例案例 1 辗转相除法与更相减损术案例 2 秦九韶算法 案例 3 进位制练:840 和 1764 的最大公约数是( )A84 B.12 C.168 D.252练:用秦九韶算法求7x3+3x2-5x+11 当 x=23 时的值。练: )3()4(21WHILE s15s=s+nn=n-1WENDPRINT nEND教学反思: