《2023年1.3算法案例教、学案.pdf》由会员分享,可在线阅读,更多相关《2023年1.3算法案例教、学案.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-1-1.3 算法案例 【教学目标】:1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析。2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。【教学重难点】:重点:理解辗转相除法与更相减损术求最大公约数的方法。难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。【教学过程】:情境导入:1.教师首先提出问题:在初中,我们已经学过求最大公约数的知识,你能求出 18 与 30的公约数吗?2.接着教师进一步提出问题,我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?
2、比如求 8251 与 6105 的最大公约数?这就是我们这一堂课所要探讨的内容。新知探究:1.辗转相除法 例 1 求两个正数 8251 和 6105 的最大公约数。(分析:8251 与 6105 两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)解:8251610512146 显然 8251 的最大公约数也必是 2146 的约数,同样 6105 与 2146 的公约数也必是 8251 的约数,所以 8251 与 6105 的最大公约数也是 6105 与 2146 的最大公约数。6105214621813 214618131333 18133335148
3、 333148237 1483740 则 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;依次计算直至 rn0,此时所得到
4、的 rn-1即为所求的最大公约数。练习:利用辗转相除法求两数 4081 与 20723 的最大公约数(答案:53)2.更相减损术 我国早期也有解决求最大公约数问题的算法,就是更相减损术。更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母子之数,以少-2-减多,更相减损,求其等也,以等数约之。翻译出来为:第一步:任意给出两个正数;判断它们是否都是偶数。若是,用 2 约简;若不是,执行第二步。第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。例 2 用更相减损术求 98 与 63 的
5、最大公约数.解:由于 63 不是偶数,把 98 和 63 以大数减小数,并辗转相减,即:986335 633528 35287 28721 21714 1477 所以,98 与 63 的最大公约数是 7。练习:用更相减损术求两个正数 84 与 72 的最大公约数。(答案:12)比较辗转相除法与更相减损术的区别:(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相等而得到 3.秦九韶算
6、法 秦九韶计算多项式的方法 令,则有,其中.这样,我们便可由依次求出;显然,用秦九韶算法求 n 次多项式的值时只需要做 n 次乘法和 n 次加法运算 4.进位制 进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符-3-号的个数称为基数,基数为 n,即可称 n 进位制,简称 n 进制.现在最常用的是十进制,通常使用 10 个阿拉伯数字 0-9进行记数.对于任何一个数,我们可以用不同的进位制来表示.比如:十进数 57,可以用二进制表示为 111001,也可以用八进制表示为 71、用十六进制表示为 39,它们所代表的数值都是一样的.表示各种进位制数一般在数字右下脚加注来表示,
7、如 111001(2)表示二进制数,34(5)表示5 进制数.(1).k 进制转换为十进制的方法:,(2).十进制转化为 k 进制数 b 的步骤为:第一步,将给定的十进制整数除以基数 k,余数便是等值的 k 进制的最低位;第二步,将上一步的商再除以基数 k,余数便是等值的 k 进制数的次低位;第三步,重复第二步,直到最后所得的商等于 0 为止,各次所得的余数,便是 k 进制各位的数,最后一次余数是最高位,即除 k 取余法.要点诠释:1、在 k 进制中,具有 k 个数字符号.如二进制有 0,1 两个数字.2、在 k 进制中,由低位向高位是按“逢 k 进一”的规则进行计数.3、非 k 进制数之间的
8、转化一般应先转化成十进制,再将这个十进制数转化为另一种进制的数,有的也可以相互转化.【反馈测评】:1求 324、243、135 这三个数的最大公约数。求三个数的最大公约数可以先求出两个数的最大公约数,第三个数与前两个数的最大公约数的最大公约数即为所求。2用更相减损术求 98 与 63 的最大公约数 解:由于 63 不是偶数,把 98 和 63 以大数减小数,并辗转相减 986335 633528 35287 28721 21721 1477 所以,98 和 63 的最大公约数等于 7 3 已知一个五次多项式为8.07.16.25.325)(2345xxxxxxf用秦九韶算法求这个多项式当 x=
9、5 的值。解:将多项式变形:8.0)7.1)6.2)5.3)25()(xxxxxxf按由里到外的顺序,依此计算一次多项式当 x=5 时的值:50v,272551v,5.1385.35272v,9.6896.255.1383v 2.34517.159.6894v,2.172558.052.34515v所以,当 x=5时,多项式的值等于 17255.2 -4-4将二进制数 110011(2)化成十进制数 解:根据进位制的定义可知 012345)2(212120202121110011 121161321 51 所以,110011(2)=51。【板书设计】:1.3 算法案例 一、辗转相除法 例 1
10、二、更相减损术 例 2 三、秦九韶算法 四、进位制 五、反馈测评:小结 作业 -5-6-1.3 算法案例 课前预习学案 一、预习目标 1、理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析。2、理解秦九韶算法的思想。二、预习内容 什么是进位制?最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明 三、提出疑惑 思考:辗转相除法中的关键步骤是哪种逻辑结构?课内探究学案 一、学习目标 1.会用辗转相除法与更相减损术求最大公约数的方法。2.会利用秦九韶算法求多项式的值。3各进位制之间能灵活转化。二、学习重难点:重点:辗转相除法与更相减损术求最大公约数的方法和秦九韶算法
11、求多项式的值。难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。三、学习过程 辗转相除法思路:可以利用除法将大数化小,找两数的最大公约数.(适于两数较大时)(1)用较大的数 m除以较小的数 n 得到一个商0S和一个余数0R;(2)若0R0,则 n 为 m,n 的最大公约数;若0R0,则用除数 n 除以余数0R得到一个1S 和一个余数1R;(3)若1R0,则1R为 m,n 的最大公约数;若1R0,则用除数0R除以余数1R得到一个商2S和一个余数2R;依次计算直至nR0,此时所得到的1nR即为所求的最大公约数.例题 1:求两个正数 1424 和 801 的最大公约数.以上我们求最大公约
12、数的方法就是辗转相除法,也叫欧几里德算法.由上述步骤可以看出,辗转相除法中的除法是一个反复执行的步骤,且执行次数由余数 是否等于 0 来决定,所以可把它看成一循环体,写出辗转相除法完整的程序框图和程序语言.教学更相减损术:我国早期也有求最大公约数问题的算法,就是更相减损术.在九章算 术中有更相减损术求最大公约数的步骤:可半者半之,不可半者,副置 分母子之数,以少减多,更相减损,求其等也,以等数约之.-7-翻译为:(1)任意给出两个正数;判断它们是否都是偶数.若是,用 2 约简;若不是,执 行第二步.(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小 数.继续这个操作,直到
13、所得的数相等为止,则这个数(等数)就是所求的最 大公约数.例题 2.用更相减损术求 91 和 49 的最大公约数.秦九韶算法:(1)设计求多项式763452)(2345xxxxxxf当 x=5 时的值的算法,并写出程序。(2)有没有更高效的算法?能否探求更好的算法,来解决任意多项式的求解问题?引导学生把多项式变形为:7)6)3)4)52(763452)(2345xxxxxxxxxxxf 并提问:从内到外,如果把每一个括号都看成一个常数,那么变形后的式子中有哪些“一次式”?x 的系数依次是什么?用秦九韶算法求多项式的值,与多项式组成有直接关系吗?用秦九韶算法计算上述多项式的值,需要多少次乘法运算
14、和多少次加法运算?秦九韶算法适用于一般的多项式0111)(axaxaxaxfnnnn的求值问题吗?怎样用程序框图表示秦九韶算法?观察秦九韶算法的数学模型,计算kv时要用到1kv的值,若令nav 0,我们可以得到下面的递推公式:),2,1(10nkaxvvavknkkn这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现。请画出程序框图。例题 3已知一个五次多项式为8.07.16.25.325)(2345xxxxxxf用秦九韶-8-算法求这个多项式当 x=5 的值。进位制:我们了解十进制吗?所谓的十进制,它是如何构成的?其它进位制的数又是如何的呢?进位制是人们为了计数和运算方便而约定的记数
15、系统。进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为 n,即可称 n 进位制,简称 n 进制。例题 4将二进制数 110011(2)化成十进制数 精讲点拨:1求两个正数 8251 和 2146;228 和 1995;5280 和 12155 的最大公约数.2 求两个正数 8251 和 2146 的最大公约数.3.用秦九韶算法计算多项式 在 x=-4时的值时,V3的值为:反思总结:比较辗转相除法与更相减损术的区别(1)都是求 的方法,计算上辗转相除法以 法为主,更相减损术以 法为主,计算次数上 法计算次数相对较少,特别当两个数字 时计算次数的区别较明显(2)从结果体现形式来看,辗转相除法体现结果是以 则得到,而更相减损术 则以 而得到(3)通过对秦九韶算法的学习,你对算法本身有哪些进一步认识?(4)秦九韶算法在计算一个 n 次多项式的值时,只要做_次乘法运算和_次加法运算。-9-课后练习与提高 1、用“辗转相除法”求得 459 和 357 的最大公约数是:A3 B9 C17 D51 2、将数转化为十进制数为:A.524 B.774 C.256 D.260 3、用秦九韶算法计算多项式 当时的值时,需要做乘法和加法的次数分别是:A.6,6 B.5,6 C.5,5 D.6,5 参考答案:1D 2B 3A