高中数学1.3.2算法案例—秦九韶算法教案新人教A版必修
- 格式:docx
- 大小:59.70 KB
- 文档页数:4
秦九韶算法 一、三维目标(a )知识与技能了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
(b )过程与方法 模仿秦九韶计算方法,体会古人计算构思的巧妙。
(c )情态与价值观通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
充分认识信息技术对数学的促进。
二、教学重难点重点:1.秦九韶算法的特点难点:1.秦九韶算法的先进性理解三、教学设计 (一)创设情景,揭示课题1.辗转相除法和更相减损术,是求两个正整数的最大公约数的优秀算法,我们将算法转化为程序后,就可以由计算机来执行运算,实现了古代数学与现代信息技术的完美结合.2.对于求n 次多项式的值,在我国古代数学中有一个优秀算法,即秦九韶算法,我们将对这个算法作些了解和探究.(二)研探新知思考1 ).5(,12345)(2345f x x x x x x f 求已知+++++= 21325算法1:需要(5+4+3+2)=14次乘法,5次加法算法2:需要5次乘法,5次加法 秦九韶算法思考2 ).3(,1234567)(234567f x x x x x x x x f 求已知+++++++= 18556 思考3:利用后一种算法求多项式f(x)=a n x n +a n-1x n-1+…+a 1x+a 0的值,这个多项式应写成哪种形式?f(x)=a n x n +a n-1x n-1+…+a 1x+a 0=(a n x n-1+a n-1x n-2+…+a 2x+a 1)x+a 0=((a n x n-2+a n-1x n-3+…+a 2)x+a 1)x+a 0=…=(…((a n x+a n-1)x+a n-2)x+…+a 1)x+a 0.思考4:对于f(x)=(…((a n x+a n-1)x+a n-2)x+…+a 1)x+a 0,由内向外逐层计算一次多项式的值,其算法步骤如何?第一步,计算v 1=a n x+a n-1.第二步,计算v 2=v 1x+a n-2.第三步,计算v 3=v 2x+a n-3.…第n 步,计算v n =v n-1x+a 0.思考5:上述求多项式f(x)=a n x n +a n-1x n-1+…+a 1x+a 0的值的方法称为秦九韶算法,利用该算法求f(x 0)的值,一共需要多少次乘法运算,多少次加法运算?思考6:在秦九韶算法中,记v 0=a n ,那么第k 步的算式是什么?v k =v k-1x+a n-k (k=1,2,…,n)例1 阅读下列程序,说明它解决的实际问题是什么?求多项式43254321)(x x x x x f ++++=,在x=a 时的值.评价一个算法好坏的一个重要标志是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论算法.在多项式求值的各种算法中,秦九韶算法是一个优秀算法.作业:《习案》作业九 INPUT “x=”;a n=0y=0WHILE n <5y=y+(n+1)*a ∧n n=n+1WEND PRINT y END。
教学课题授课年级授课类型教学目标知识与技能目标过程与方法目标情感态度与价值观目标1.3算法案例——秦九韶算法高一(117)班新授课了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
模仿秦九韶计算方法,体会古人计算构思的巧妙。
了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
通过对秦九韶算法的学习,了解中国古代数学对世界数学发展的贡献,充分认识到我国文化历史的悠久。
教学重点教学难点教学方法教学用具理解秦九韶算法的思想。
用循环结构表示算法步骤。
学生探究、教师引导苹果求具体多项式的值教学流程用循环结构表示秦九韶算法的关键步骤改进计算方法,提高运算效率介绍秦九韶算法,求一般多项式的值总结教学过程问题师生活动问题设计意图使学生在自己操作的过程中体会求多项式值的一般思路方法。
学生自己提出一般的解决方案:将x=3(1)求当x =3时多项式代入多项式进行计算即可。
教师点评:上述算法一共做了10次乘f (x )=2x 4+3x 3+4x 2+5x +6的值.法运算,4次加法运算,优点是简单,易懂。
缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高。
计算x 的幂时,可以利用前面的计算结果,以减少计算量,即先计算x ,然后依次计算x •x ,x •x 的值,这样计算上(2)有没有更高效的算法?述多项式的值,一共需要多少次乘法,多少次加法?(学生思考之后作出回答)得出结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法更快地得到结果。
教师引导把多项式变形为:232帮助学生改进方法,提高计算效率。
f (x )=(2x 3+3x 2+4x +5)x +6=((2x +3x +4)x +5)x +6=(((2x +3)x +4)x +5)x +6(3)能否探索更好的方法,来解决任意多项式的求值问题?2V 0=2V 1=V 0⨯3+3V 2=V 1⨯3+4V 3=V 2⨯3+5V 4=V 3⨯3+6这种通过将4次多项式变形为4个一次多项式,由内向外逐层计算,依次减少括号的算法就是秦九韶算法。
1.3 算法案例(第二课时)秦九韶算法一、学习目标:【读一读学习要求,目标更明确】1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质;2.能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序.二、学习方法:【看一看学法指导,学习更灵活】通过对“辗转相除法、更相减损之术、秦九韶算法”的学习,更好的理解将要解决问题“算法化”的思维方法,理解将抽象的数学思维转变为具体的步骤化的思维方法,提高逻辑思维能力,体会中国古代数学对世界数学发展的贡献,增强爱国主义情怀.三、学习重难点:秦九韶算法的特点,对秦九韶算法的先进性理解四、合作探究知识探究(一):秦九韶算法的基本思想问题2:我们把多项式变形为()((((1)1)1)1)1f x x x x x x =+++++再统计一下计算当5=x 时的值时需要的种类和计算次数分别是什么?,问题3:怎样求多项式5432()254367f x x x x x x =--+-+当5=x 时的值呢? 对多项式进行怎样的变形?思考:如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++的求值问题?问题4:在利用秦九韶算法计算n 次多项式当0x x =时需要多少次乘法计算和多少次加法计算?知识探究(二):秦九韶算法的程序设计(1)秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值,整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n k k n k v a v v x a k n --=⎧⎨=+=⎩. 这是一个反复执行的步骤,因此可用循环结构来实现.试画出程序框图,并设计出程序;(2)程序框图: (3)程序设计:五、理论迁移 例1 已知一个5次多项式为5432()42 3.5 2.6 1.70.8f x x x x x x =++-+-用秦九韶算法求这个多项式当5=x 时的值。
高二理科数学《1.3.2 秦九邵算法》教案一、三维目标(a )知识与技能了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
(b )过程与方法模仿秦九韶计算方法,体会古人计算构思的巧妙。
(c )情态与价值观通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
充分认识信息技术对数学的促进。
二、教学重难点重点:1.秦九韶算法的特点难点:1.秦九韶算法的先进性理解三、教学设计(一)创设情景,揭示课题我们已经学过了多项式的计算,下面我们计算一下多项式1)(2345+++++=x x x x x x f 当5=x 时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为:1)))1(1(1()(2+++++=x x x x x x f 再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
显然少了6次乘法运算。
这种算法就叫秦九韶算法。
(二)研探新知1.秦九韶计算多项式的方法 01210123120132211012211)))((())(()()(a a x a x a x a a x a x a x a x a a x a x a x a x a a x a x a x a x a x f n n n n n n n n n n n n n n n n n n n +++++==+++++=+++++=+++++=--------------例1 已知一个5次多项式为8.07.16.25.325)(2345-+-++=x x x x x x f用秦九韶算法求这个多项式当5=x 时的值。
解:略思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?(2)在利用秦九韶算法计算n 次多项式当0x x =时需要多少次乘法计算和多少次加法计算?练习:利用秦九韶算法计算15.033.016.041.083.0)(2345+++++=x x x x x x f 当5=x 时的值,并统计需要多少次乘法计算和多少次加法计算?例2 设计利用秦九韶算法计算5次多项式 0122334455)(a x a x a x a x a x a x f +++++=当0x x =时的值的程序框图。
1.3.2算法案例 秦九韶算法授课日期: 姓名: 班级:学习目标知识与技能:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
过程与方法:模仿秦九韶计算方法,体会古人计算构思的巧妙。
了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
情态与价值:通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
学习重难点重点:秦九韶算法的特点步骤难点:秦九韶算法的先进性理解使用说明及学法指导:1、先阅读教材37—39页认真思考, 探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。
2、、把学案中自己易忘、易出错的知识点和疑难问题以及解题方法规律,及时整理在解题本,多复习记忆。
3、A:自主学习;B:合作探究;C :能力提升4、小班、重点班完成全部,平行班至少完成A.B 类题。
平行班的A 级学生完成80%以上B 完成70%~80%C 力争完成60%以上。
知识链接1、求两个数的最大公约数的两种方法分别是( )和( )。
2、两个数21672,8127的最大公约数是 ( )A 、2709B 、2606C 、2703D 、2706学习过程A 问题1.计算一下多项式1)(2345+++++=x x x x x x f 当5=x 时的值,并统计所做的计算的种类及计算次数。
算法1:因为f(x) =x5+x4+x3+x2+x+1所以f(5)=55+54+53+52+5+1=3125+625+125+25+5+1= 3906根据我们的计算统计可以得出我们共需要 次乘法运算, 次加法运算。
我们把多项式变形为:1)))1(1(1()(2+++++=x x x x x x f 再统计一下计算当5=x 时的值时需要的计算次数.算法2:f(5)=55+54+53+52+5+1 =5×(54+53+52+5+1 ) +1=5×(5×(53+52+5 +1 )+1 ) +1=5×(5×(5×(52+5 +1) +1 ) +1 ) +1=5×(5×(5×(52+5 +1) +1 ) +1 ) +1可以得出仅需 次乘法和 次加法运算即可得出结果。
《秦九韶算法》乘法运算,第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提)秦九韶计算多项式的方法利用秦九韶算法计算精美句子1、善思则能“从无字句处读书”。
读沙漠,读出了它坦荡豪放的胸怀;读太阳,读出了它普照万物的无私;读春雨,读出了它润物无声的柔情。
读大海,读出了它气势磅礴的豪情。
读石灰,读出了它粉身碎骨不变色的清白。
2、幸福幸福是“临行密密缝,意恐迟迟归”的牵挂;幸福是“春种一粒粟,秋收千颗子”的收获. 幸福是“采菊东篱下,悠然见南山”的闲适;幸福是“奇闻共欣赏,疑义相与析”的愉悦。
幸福是“随风潜入夜,润物细无声”的奉献;幸福是“夜来风雨声,花落知多少”的恬淡。
幸福是“零落成泥碾作尘,只有香如故”的圣洁。
幸福是“壮志饥餐胡虏肉,笑谈渴饮匈奴血”的豪壮。
幸福是“先天下之忧而忧,后天下之乐而乐”的胸怀。
幸福是“人生自古谁无死,留取丹心照汗青”的气节。
3、大自然的语言丰富多彩:从秋叶的飘零中,我们读出了季节的变换;从归雁的行列中,我读出了集体的力量;从冰雪的消融中,我们读出了春天的脚步;从穿石的滴水中,我们读出了坚持的可贵;从蜂蜜的浓香中,我们读出了勤劳的甜美。
4、成功与失败种子,如果害怕埋没,那它永远不能发芽。
鲜花,如果害怕凋谢,那它永远不能开放。
矿石,如果害怕焚烧(熔炉),那它永远不能成钢(炼成金子)。
蜡烛,如果害怕熄灭(燃烧),那它永远不能发光。
航船,如果害怕风浪,那它永远不能到达彼岸。
5、墙角的花,当你孤芳自赏时,天地便小了。
井底的蛙,当你自我欢唱时,视野便窄了。
笼中的鸟,当你安于供养时,自由便没了。
山中的石!当你背靠群峰时,意志就坚了。
水中的萍!当你随波逐流后,根基就没了。
空中的鸟!当你展翅蓝天中,宇宙就大了。
空中的雁!当你离开队伍时,危险就大了。
地下的煤!你燃烧自己后,贡献就大了6、朋友是什么?朋友是快乐日子里的一把吉它,尽情地为你弹奏生活的愉悦;朋友是忧伤日子里的一股春风,轻轻地为你拂去心中的愁云。
§1.3秦九韶算法与排序(两个课时)教学目标:1了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
教学重点:秦九韶算法的特点及其程序设计,两种排序法的排序步骤及其程序设计教学难点:秦九韶算法的先进性理解及其程序设计,排序法的计算机程序设计教学过程 (秦九韶计算多项式的方法)例1、设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值的算法,并写出程序。
个别学生提出一般的解决方案,如:x=5 y=2 * x^5 – 5 * x^4 – 4 * x^3 + 3 * x^2 – 6 * x+ 7 PRINT“y=”;y END提问:例1计算时需要多少次乘法计算?多少次加法计算?有什么优缺点?(上述算法一共做了解15次乘法运算,5次加法运算,优点是简单、易懂。
缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高。
)提问:计算x的幂时,可以利用前面的计算结果,以减少计算量,即先计算x2,然后依次计算x2.x,(x2.x).x,((x2.x).x).x的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了解4次乘法运算,5次加法运算。
)结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法更快地得到结果。
我们把多项式变形为:f(x)= 2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7从内到外,如果把每一个括号都看成一个常数,x的系数依次是什么?用图表可以表示为:最后的系数2677即为所求的值,让学生描述上述计算过程。
1.3 案例2 秦九韶算法(一)导入新课思路1(情境导入)大家都喜欢吃苹果吧,我们吃苹果都是从外到里一口一口的吃,而虫子却是先钻到苹果里面从里到外一口一口的吃,由此看来处理同一个问题的方法多种多样.怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?方法也是多种多样的,今天我们开始学习秦九韶算法.思路2(直接导入)前面我们学习了辗转相除法与更相减损术,今天我们开始学习秦九韶算法.(二)推进新课、新知探究、提出问题(1)求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值有哪些方法?比较它们的特点.(2)什么是秦九韶算法?(3)怎样评价一个算法的好坏?讨论结果:(1)怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?一个自然的做法就是把5代入多项式f(x),计算各项的值,然后把它们加起来,这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.另一种做法是先计算x2的值,然后依次计算x2·x,(x2·x)·x,((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果,这时,我们一共做了4次乘法运算,5次加法运算.第二种做法与第一种做法相比,乘法的运算次数减少了,因而能够提高运算效率,对于计算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以采用第二种做法,计算机能更快地得到结果.(2)上面问题有没有更有效的算法呢?我国南宋时期的数学家秦九韶(约1202~1261)在他的著作《数书九章》中提出了下面的算法:把一个n次多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0改写成如下形式:f(x)=a n x n+a n-1x n-1+…+a1x+a0=(a n x n-1+a n-1x n-2+…+a1)x+ a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=a n x+a n-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+a n-2,v3=v2x+a n-3,…v n=v n-1x+a0,这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.上述方法称为秦九韶算法.直到今天,这种算法仍是多项式求值比较先进的算法.(3)计算机的一个很重要的特点就是运算速度快,但即便如此,算法好坏的一个重要标志仍然是运算的次数.如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论的算法.(三)应用示例例1 已知一个5次多项式为f (x )=5x 5+2x 4+3.5x 3-2.6x 2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.解:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7) x-0.8,按照从内到外的顺序,依次计算一次多项式当x=5时的值:v 0=5;v 1=5×5+2=27;v 2=27×5+3.5=138.5;v 3=138.5×5-2.6=689.9;v 4=689.9×5+1.7=3 451.2;v 5=3 415.2×5-0.8=17 255.2;所以,当x=5时,多项式的值等于17 255.2.算法分析:观察上述秦九韶算法中的n 个一次式,可见v k 的计算要用到v k-1的值,若令v 0=a n ,我们可以得到下面的公式:⎩⎨⎧=+==--).,,2,1(,10n k a x v v a v k n k kn 这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.算法步骤如下:第一步,输入多项式次数n 、最高次的系数a n 和x 的值.第二步,将v 的值初始化为a n ,将i 的值初始化为n-1.第三步,输入i 次项的系数a i .第四步,v=vx+a i ,i=i-1.第五步,判断i 是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v. 程序框图如下图:程序:INPUT “n=”;nINPUT “an=”;aINPUT “x=”;xv=ai=n-1WHILE i>=0PRINT “i=”;iINPUT “ai=”;av=v*x+ai=i-1WENDPRINT vEND点评:本题是古老算法与现代计算机语言的完美结合,详尽介绍了思想方法、算法步骤、程序框图和算法语句,是一个典型的算法案例.变式训练请以5次多项式函数为例说明秦九韶算法,并画出程序框图.解:设f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0首先,让我们以5次多项式一步步地进行改写:f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0=((a5x3+a4x2+ a3x+a2)x+a1)x+a0=(((a5x2+a4x+ a3)x+a2)x+a1)x+a0=((((a5x+a4)x+ a3)x+a2)x+a1)x+a0.上面的分层计算,只用了小括号,计算时,首先计算最内层的括号,然后由里向外逐层计算,直到最外层的括号,然后加上常数项即可.程序框图如下图:例2 已知n次多项式P n(x)=a0x n+a1x n-1+…+a n-1x+a n,如果在一种算法中,计算k x0(k=2,3,4,…,n)的值需要k-1次乘法,计算P3(x0)的值共需要9次运算(6次乘法,3次加法),那么计算P10(x0)的值共需要__________次运算.下面给出一种减少运算次数的算法:P0(x)=a0,P k+1(x)=xP k(x)+a k+1(k=0,1,2,…,n-1).利用该算法,计算P3(x0)的值共需要6次运算,计算P10(x0)的值共需要___________次运算.答案:65 20点评:秦九韶算法适用一般的多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的求值问题.直接法乘法运算的次数最多可到达2)1(nn,加法最多n次.秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次.例3 已知多项式函数f(x)=2x5-5x4-4x3+3x2-6x+7,求当x=5时的函数的值.解析:把多项式变形为:f(x)=2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7.计算的过程可以列表表示为:最后的系数2 677即为所求的值.算法过程:v0=2;v1=2×5-5=5;v2=5×5-4=21;v3=21×5+3=108;v4=108×5-6=534;v5=534×5+7=2 677.点评:如果多项式函数中有缺项的话,要以系数为0的项补齐后再计算.(四)知能训练当x=2时,用秦九韶算法求多项式f(x)=3x5+8x4-3x3+5x2+12x-6的值.解法一:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((3x+8)x-3)x+5)x+12)x-6.按照从内到外的顺序,依次计算一次多项式当x=2时的值.v0=3;v1=v0×2+8=3×2+8=14;v2=v1×2-3=14×2-3=25;v3=v2×2+5=25×2+5=55;v4=v3×2+12=55×2+12=122;v5=v4×2-6=122×2-6=238.∴当x=2时,多项式的值为238.解法二:f(x)=((((3x+8)x-3)x+5)x+12)x-6,则f(2)=((((3×2+8)×2-3)×2+5)×2+12)×2-6=238.(五)拓展提升用秦九韶算法求多项式f (x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.解:f(x)=((((((7x+6)+5)x+4)x+3)x+2)x+1)xv0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2 369;v6=2 369×3+1=7 108;v7=7 108×3+0=21 324.∴f(3)=21 324.(六)课堂小结1.秦九韶算法的方法和步骤.2.秦九韶算法的计算机程序框图.(七)作业已知函数f(x)=x3-2x2-5x+8,求f(9)的值.解:f(x)=x3-2x2-5x+8=(x2-2x-5)x+8=((x-2)x-5)x+8 ∴f(9)=((9-2)×9-5)×9+8=530.。