「精品」高中数学第一章算法初步1.3中国古代数学中的算法案例教学案新人教B版必修3
- 格式:doc
- 大小:597.50 KB
- 文档页数:15
1.3 案例2 秦九韶算法一、基本信息教材:人教版,必修3第一章“算法初步”的第3节“算法案例”中的秦九韶算法.二、教材分析为解决一个问题而采取的方法和步骤,称为算法.算法是数学的重要组成部分,是计算机理论和技术的基础.随着现代信息技术的飞速发展,算法思想已经成为现代人应具备的一种数学素养,新课标已将算法列为高中数学的必修内容.秦九韶算法既能体现新课程、新理念、新课标,又可以结合旧知识,调动学生的积极性,培养学生的自主探索能力及学习兴趣.三、学情分析从学生的认知基础看,学生在已经学习了程序框图、算法语句的相关知识,积累了研究算法的基本方法与初步经验.学生的基础较好,能够在一节课中掌握框图和算法语句.从学生的思维发展看,高二学生思维能力正在由形象经验型向抽象理论型转变,能够用假设、推理来思考和解决问题.但是,学生看待问题还是静止的、片面的,抽象概括能力比较薄弱,这对建构秦九韶算法中的循环结构有一定的困难.四、教学目标【知识与技能】1、了解秦九韶算法的计算过程.2、理解利用秦九韶算法可以减少计算次数提高计算效率的实质.【过程与方法】1、模仿秦九韶计算方法,体会古人计算构思的巧妙.2、了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用.【情感、态度与价值观】1、通过对秦九韶算法的学习,了解中国古代数学对世界数学发展的贡献,充分认识到我国文化历史的悠久.2、通过对秦九韶算法的广泛应用、丰富其联想的空间,懂得“来龙去脉”.3、充分认识信息技术对数学的促进.五、教学重点和难点重点:理解秦九韶算法的思想.难点:用循环结构表示算法步骤.六、教学方法学生探究、教师引导.七、教学流程八、教学过程1、逐渐渗透算法意识,为算法学习铺路【思考1】求当5=x 时,求多项式1)(2345+++++=x x x x x x f 的值.学生自己提出一般的解决方案:将5=x 代入多项式进行计算即可.教师点评:上述算法一共做了10次乘法运算,5次加法运算,优点是简单,易懂.缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.设计意图:使学生在自己操作的过程中体会求多项式值的一般思路方法.【思考2】如果让计算机来做这件事情,那么有没有更高效的算法?(这里有一个知识,就是对于计算机而言,做一次乘法所需的运算时间比做一次加法要长得多,因此,这里所说的高效,具体是指,能否减少乘法的次数?)教师引导学生分析、推理:如果有同学这样想:可以先计算2x 的值,然后依次计算x x *2,x x x **)(2,x x x x ***))((2的值,这样每次都可以利用上一次计算的结果.这时,我们一共做了4次乘法运算,5次加法运算.那么,老师可以不做点评,可以紧接着让学生来做:例2、求多项式54232)(2345+++++=x x x x x x f 当2=x 时的值?分析:如果还按照刚才的说法的话,有同学会很自然想到这样来处理:先计算2x ,然后再去计算24x ;接着再去计算x x ⋅2,在此基础上去计算)(22x x ⋅,……,依此进行下去,这样一共进行了8次乘法,5次加法运算;那么,对于例2,是否还有别的方法呢?引导学生继续来观察,发现,在54232)(2345+++++=x x x x x x f 中,代数式x x x x x ++++23454232中,都有x ,因此,还可以x x x x x x x x x x )14232(42322342345++++=++++,也是,依此进行下去, 54232)(2345+++++=x x x x x x f 可变形为5)1)4)2)32(((()(+++++=x x x x x x f ,这样再看这种处理,一共进行了5次乘法,5次乘法运算.很显然,比上一种方法少了3次乘法运算.这时,老师可以再次返回到开始,重新带领学生来认识问题“求当5=x 时,求多项式1)(2345+++++=x x x x x x f 的值. ”,我们还可以这样来处理:1)1)1)1)1((((1)(2345+++++=+++++=x x x x x x x x x x x f 或者=+++++=155555)(2345x f15)15)15)15)15((((+++++,这样来看,一共进行了4次乘法,5次加法. 问题:同学们来比较分析一下,两种处理方式,哪一种更好?为什么?【分析】虽然也是进行的乘法与加法次数与前一种都一样. 但是,很显然,还是后面一种解法更好一些.因为它更具有通性通法. 这也是“算法”思想的体现,因为算法考虑的是这一类问题的处理方式.教师点评:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,因此第二种做法更快地得到结果.设计意图:帮助学生改进方法,感受算法思想,从而提高计算效率.【思考3】能否探索更好的方法,来解决任意多项式的求值问题?刚才提高计算效率的方法只对求多项式1)(2345+++++=x x x x x x f 当5=x 时的值而言的,那么再举一例:求多项式54232)(2345+++++=x x x x x x f ,当2=x 时的值?教师引导学生解答:利用思考2总结出来的方法,每次计算利用上一次结果.想要解决这一问题,可以将原式变形如下:54232)(2345+++++=x x x x x x f5)14232(234+++++=x x x x x5)1)4232((23+++++=x x x x x5)1)4)232(((2+++++=x x x x x5)1)4)232(((2+++++=x x x x x5)1)4)2)32((((+++++=x x x x x将2=x 代入上式,从内往外依次计算73221=+⨯=v162272=+⨯=v3642163=+⨯=v7312364=+⨯=v设计意图:用具体实例练习,让学生在实例中体会上述运算方法,进一步探索具有一般意义的算法. 算法:就是按照一定规则,解决某一类问题的明确的有限的步骤.【思考4】一个n 次多项式0111)(a x a x a x a x f n n n n ++⋅⋅⋅++=--的值?教师引导学生解答:将原式变形得0111)(a x a x a x a x f n n n n ++⋅⋅⋅++=--01211)(a x a x a x a n n n n ++⋅⋅⋅++=---……011))(((a x a x a x a n n ++⋅⋅⋅++⋅⋅⋅=-求多项式的值时,类推练习的方法.首先计算最内层括号内的一次多项式的值,即:n a v =011-+=n n a x a v然后由内往外逐层计算一次多项式的值,即212-+=n a x v v323-+=n a x v v……01a x v v n n +=-教师点评:上述方法为秦九韶算法.这样,求n 次多项式)(x f 的值就转化为求n 个一次多项式的值.这种算法称为秦九韶算法.同时介绍秦九韶——秦九韶(约1202--1261),中国南宋数学家,字道古,四川安岳人.先后在湖北,安徽,江苏,浙江等地做官,1261年左右被贬至梅州,(今广东梅县),不久死于任所.他与李冶,杨辉,朱世杰并称宋元数学四大家.早年在杭州“访习于太史,又尝从隐君子受数学”,1247年写成著名的《数书九章》.《数书九章》全书凡18卷,81题,分为九大类.其最重要的数学成就----“大衍总数术”(一次同余组解法)与“正负开方术”(高次方程数值解法),使这部宋代算经在中世纪世界数学史上占有突出的地位.直到今天,这种算法仍是多项式求值比较先进的算法.设计意图:这里将问题由特殊上升到一般,得出用秦九韶算法求多项式的值的一般方法,说明秦九韶算法的通用性.同时,了解中国古代数学对世界数学发展的贡献.2 、将“算法”提升到“程序框图”的层面【思考1】观察上述秦九韶算法中的n 个一次式.在秦九韶算法中反复执行的步骤是什么,应该用什么结构来实现?教师引导学生分析:观察秦九韶算法的数学模型,计算k v 时要用到1-k v 的值.若令n a v =0可以得到下面的递推公式:⎩⎨⎧⋅⋅⋅=+==--),,3,2,1(10n k a x v v a v k n k k n 这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现.(《必修三》P15:对于重复操作的步骤,我们按照“确定循环体”、“初始化变量”、“设定循环控制条件”的顺序来勾走循环结构)由秦九韶的概念得出算法步骤如下:第一步:输入多项式次数n ,最高次项的系数n a 和x 的值.第二步:将v 的值初始化为n a ,将i 的值初始化为1-n .第三步:判断i 是否大于或等于0,若是,输入i 次项的系数i a ,1,-=+=i i a vx v i ;否则,输出多项式的值v .(第一步,输入多项式次数n ,最高次项的系数n a 和x 的值.第二步,将v 的值初始化为n a ,将i 的值初始化为1-n .第三步,判断i 是否大于或等于0,若是,执行第四步;否则,输出多项式的值v .第四步,输入i 次项的系数i a ,1,-=+=i i a vx v i ;返回第三步.)(说明:在处理具体算法案例时,提倡先通过“算法分析写算法步骤,再根据算法步骤画程序框图,然后根据程序框图编制程序,最后可创造条件在计算机上验证算法.”)即:通过算法分析,写算法步骤——画程序框图——编制程度——上机验证【思考2】 怎样用程序框图表示秦九韶算法?教师引导学生分析: 由算法步骤画出程序框(如下页图)教师点评:用程序框图表示秦九韶算法中的循环过程中,最重要的部分是找出循环体.在画框图的过程中,计数变量的初始值也要注意,这是画框图时候的小技巧.设计意图:由以上“算法”转化为“程序框图”.就是一种十分重要的数学思想.由此发现,“算法”与“程序框图”它们既是研究问题的不同方面,又是相互依存、相互联系的,在一定条件下可以由“算法”画出“程序框图”:由“程序框图”写出“算法”.3 、【思考1】由以上程序框图对应写出程序:第一步 INPUT nINPUT n aINPUT x另一种写法:INPUT “n ,n a ,x ”;n ,n a ,x评析: 如果不注意输入语句的格式,则写出的程序,计算机就不会执行或输出错误的信息,这是很多学生常犯的错误.第二步 n a v =1-=n i评析:学生在写赋值语句时常常一句给出多个变量赋值,这也是错误的.第三步 WHILE 0>=iINPUT “i a ”; i aa x v v +=*1-=i iWENDPRINT vEND教师点评:根据程序框图及前面提到的循环结构,递推公式.引导学生选对循环语句写出程序,问题就会迎刃而解.设计意图:经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想.4、课堂小结知识内容:秦九韶算法的特点及其程序设计.思想方法:算法思想,化归思想.设计意图:使学生对知识有一个系统的认识,突出重点,抓住关键,培养概括能力.5、作业1)1、用秦九韶算法计算多项式5432)(245++++=x x x x x f当x=2的值时,需要做乘法和加法的次数分别是_ __,_ __课后小结把算法转化为计算机可执行程序,应用计算机解决相应的问题, 从而让学生体会到虽然有时算法过程很复杂或计算很繁杂,但在计算机上运行,很快就可以获得解决问题的结果,并且一种算法可以解决一类的问题.通过对解决具体问题过程与步骤的分析,体会算法的思想,理解算法的含义;通过模仿、操作、探索、经历、设计程序框图表达解决问题的过程,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构;理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想.同时通过电脑操作,让学生自我去探索,及时验证自己的程序是否可行,及时获得成就感,激发学生学习兴趣,也符合新课程的理念.。
1.3 中国古代数学中的算法案例秦九韶算法
中国数学名家-秦九韶
秦九韶(1202~1261年),字道古,南宋普州安岳(今四川省安岳县)人。
,有记载则说秦九韶自称鲁郡(现山东滋阳、曲阜一带)人,幼年时随父亲在四川巴州居住。
青少年时饱受战乱,成年后离开四川,在湖北、安徽、江苏、浙江、广东等地做官,任过县尉、通判、州守等职,死于梅州(今广东梅县)。
秦九韶的突出数学成就表现为四个方面:
(1)“大衍求一术”。
即为一次同余式组解法。
西方解决同类问题的理论是高斯于1801年建立的,比秦九韶晚了554年。
他还把这种理论用于解决商功、利息、粟米、建筑等问题。
(2)线性方程组解法。
他在《数书九章》中解决了许多相当于线性方程组的问题,其中数字相当大,计算也很复杂。
他在“均货推本”题草中,井然有序地写出厂解题过程,这种解法与高斯消元法本质相当,但比高斯早约600年。
(3)高次方程数值解法。
他集秦汉以来“开方术”之大成,运用贾宪的“增乘开方法”,解决于数字高次方程有理数根和无理数根的近似值计算问题。
他所设计的演算程序被称为“秦九韶方法”。
西方同类问题的探究始于19世纪,他比意大利的鲁菲尼、英国的霍纳要早五、六百年。
(4)“三斜求积”。
他在《数书九章》中,依据分别为12、14、15的三边求出了相应的三角形面积,其方法具有一般性。
这与西方的海伦公式是等价的。
- 1 -。
人教版高中必修3(B版)1.3 中国古代数学中的算法案例课程设计课程简介本课程将介绍中国古代数学中的算法案例,包括“过鸡抵毁”、“商功开方”、“勾股定理”等,旨在通过了解这些古代算法的实际运用,提高学生的数学思维和解决问题的能力。
课时安排本课程设计共设置4个课时,每个课时约45分钟。
课时主题内容第一课时介绍介绍中国古代数学中的算法案例第二课时过鸡抵毁讲解过鸡抵毁算法及其应用第三课时商功开方讲解商功开方算法及其应用第四课时勾股定理讲解勾股定理及其应用课程内容第一课时:介绍在第一课时中,将向学生介绍中国古代数学中的算法案例,包括各算法的基本概念、历史渊源以及现实应用。
同时,也会引导学生认识到古代数学在如今应用的广泛性。
通过讲解,让学生建立对古代数学的基本认知和认识。
第二课时:过鸡抵毁第二课时主要讲解“过鸡抵毁”算法。
这是一种古代算法,其可以用来解决一些几何问题,例如“如何用一块固定面积的木板去切割另一块面积未知的木板,使得两块木板面积相等”。
在讲解的同时,需要与学生一起做一些实际操作,例如让学生进行拼图操作,以加深学生对算法的理解。
同时也要阐述“过鸡抵毁”算法在现实生活中的应用,例如灭蚊草的研发过程中应用了该算法。
第三课时:商功开方第三课时主要讲解“商功开方”算法。
该算法可用来求解二次方程的解。
讲解中需要引导学生深入理解算法原理,例如如何将二次方程转换成商功差式再求解。
同时需要和学生一起进行实际操作,例如用解二次方程,以加深学生对算法的理解。
在讲解过程中,也需要提及“商功开方”算法在现实生活中的应用,例如在导弹制导和卫星轨道计算中的应用。
第四课时:勾股定理第四课时主要讲解“勾股定理”。
在讲解中,需要引导学生对勾股定理的几何意义进行深入理解,例如如何用直角三角形三边长度来计算直角三角形的面积。
同时需要和学生一起进行实际操作,例如用勾股定理计算直角三角形的梯形面积,以加深学生对算法的理解。
在讲解过程中,还需要提及勾股定理在现实生活中的应用,例如在建筑工程、电路设计、地图测量等方面广泛应用。
1.3中国古代数学中的算法案例一、教学目标:1、了解中国古代数学中求两个正整数的最大公约数的算法、割圆术算法及秦九韶算法2、通过对三种算法的学习,更好的理解将要解决的问题算法化的思维方式,并注意理解推导割圆术的操作步骤二、教学重点和难点:教学重点:了解“更相减损术”、“割圆术”算法及秦九韶算法教学难点:体会算法案例中蕴含的算法思想,利用它解决具体问题三、教学方法和手段:教师指导学生学习,以学生自学为主四、教学过程:1、引导学生对学过的知识进行回顾,使学生理清知识网络,并指明中国古代数学的发展“寓理于算”,不同于西方数学,有自己的鲜明特色2、求两个正整数的最大公约数的算法——辗转相除法,更相减损之术(等值算法)例1求78和36的最大公约数法一辗转相除法步骤:计算出78÷36的余数为6,再将前面的余数36作为新的被除数,36÷6=6余数为0,则此时除数6即为78和36的最大公约数理论依据:a=nb+r→r=a-nb,得a、b与b、r有相同的公约数即(78,36)→(6,36),36能被6整除,余数为0。
法二更相减损之术(等值算法)指导学生阅读书p27-28页,总结步骤,归纳出算法:S1输入两个正整数a、b(a)b);S2如果a≠b,执行S3,否则执行S5;S3将a-b赋予r;S4若b〉r,则把b赋予a,把r赋予b,否则把r赋予a,重新执行S2;S5输出最大公约数b。
程序:a=input(“a=”);b=input(“b=”);while a<>bif a>b;a=a-b;elseb=b-a;endendprint(%io(2),a,b)总结:辗转相除法步骤较少;更相减损之术(等值算法)虽然有些步骤较长,但运算简单,易懂。
练习:用等值算法求下列两数的最大公约数,并用辗转相除法验证3、割圆术——估计圆周率的近似值阅读书p28-29页步骤:第一,从半径为l的圆内接正六边形开始,计算它的面积S6;第二,逐步加倍圆内接正多边形的边数,分别计算圆内接正十二边形,正二十四边形,正四十八边形。
高中数学 1.3 中国古代数学中的算法案例教案新人教B版必修3整体设计教学分析在学生学习了算法的初步知识,理解了表示算法的算法步骤、程序框图和程序三种不同方式以后,再结合典型算法案例,让学生经历设计算法解决问题的全过程,体验算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.三维目标1.理解算法案例的算法步骤和程序框图,进一步体会算法的思想.2.引导学生得出自己设计的算法程序,提高分析问题和解决问题的能力.重点难点教学重点:引导学生得出自己设计案例的算法步骤、程序框图和算法程序.教学难点:编写算法案例的程序.课时安排2课时教学过程第1课时求两个正整数最大公约数的算法导入新课思路1(情境导入).大家喜欢打乒乓球吧,由于东、西方文化及身体条件的不同,西方人喜欢横握拍打球,东方人喜欢直握拍打球,对于同一个问题,东、西方人处理问题方式是有所不同的.在小学,我们学过求两个正整数的最大公约数的方法:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来. 当两个数公有的质因数较大时(如8 251与6 105),使用上述方法求最大公约数就比较困难.教师点出课题.思路2(直接导入).前面我们学习了算法步骤、程序框图和算法语句.今天我们将通过“更相减损之术”来进一步体会算法的思想.推进新课新知探究提出问题什么叫约数?什么叫最大公约数?阅读教材写出更相减损之术的算法步骤和程序.讨论结果:(1)如果整数a能被整数b整除,则b称为a的一个约数.(2)两个整数m与n的公约数中的最大值称为m与n的最大公约数.(3)求两个整数a与b的最大公约数,“更相减损之术”的算法步骤:对于给定的两个数,以两数中较大数减去较小的数,然后将差和较小数构成一对新数,再用较大数减去较小的数,反复执行此步骤,直到差数和较小的数相等,此时相等的两数便为原两数的最大公约数.程序如下:a=;b=;while a<>bif a>ba=a-b;elseb=b-a;endend,a,;应用示例思路1例求78和36的最大公约数.分析:用(a,b)形写出求解过程.解:(78,36)→(42,36)→(6,36)→(6,30)→(6,24)→(6,18)→(6,12)→(6,6).即78和36的最大公约数是6.点评:这种算法,只做简单的减法,操作方便、易懂,也完全符合算法的要求,它完全思路2求294与84的最大公约数.分析:由于这两个数都是偶数,同除以2后再用“更相减损之术”.解:∵294÷2=147,84÷2=42,∴取147与42的最大公约数后再乘2.(147,42)→(105,42)→(63,42)→(21,42)→(21,21).∴294与84的最大公约数为21×2=42.知能训练求1 734与816的最大公约数.解:1 734÷2=867,816÷2=408,(867,408)→(459,408)→(51,408)→(51,357)→(51,306)→(51,255)→(51,204)→(51 ,153)→(51,102)→(51,51).∴1 734与816的最大公约数是51×2=102.拓展提升求319,377,116的最大公约数.分析:先求319与377的最大公约数m,再求m与116的最大公约数n,则n为所求.解:(319,377)→(319,58)→(261,58)→(203,58)→(145,58)→(87,58)→(29,58)→(29,29),∴319与377的最大公约数是29.(116,29)→(87,29)→(58,29)→(29,29),∴116与29的最大公约数为29.∴319,377,116的最大公约数为29.课堂小结本节学习了用“更相减损之术”求最大公约数.作业习题1—3A 1.设计感想数学不仅是一门科学,也是一种文化,本节从知识方面学习求两个正整数的最大公约数,从思想方法方面,主要学习递归思想.本节设置精彩例题,不仅让学生学到知识,而且让学生进一步体会算法的思想,培养学生的爱国主义情操.备课资料求最大公约数的方法:辗转相除法.就是对于给定两数,用较大数除以较小数,若余数不为空,则将余数和较小数构成一对新数,继续上面的除法,直到大数被小数除尽,则这时较小数是原来两个数的最大公约数.算法步骤(以求两个正整数a、b的最大公约数为例):S1 输入两个正整数a,b(a>b);S2 把a÷b的余数赋值给r;S3 如果r≠0,那么把b赋给a,把r赋给b,转到S2;否则转到S4;S4 输出最大公约数b.第2课时割圆术与秦九韶算术导入新课思路1(情境导入).大家都喜欢吃苹果吧,我们吃苹果都是从外到里一口一口地吃,而虫子却是先钻到苹果里面从里到外一口一口地吃,由此看来处理同一个问题的方法多种多样. 怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?方法也是多种多样的,今天我们开始学习割圆术和秦九韶算法.思路2(直接导入).前面我们学习了更相减损之术,今天我们开始学习割圆术和秦九韶算法.推进新课新知探究提出问题阅读教材,说说割圆术的过程.讨论结果:我们先对单位圆内接正六边形、正十二边形、正二十四边形……的面积之间的关系进行分析,找出它们之间的递增规律.如下图所示,假设圆的半径为1,面积为S,圆内接正n边形面积为S n,边长为x n,边心距为h n.根据勾股定理,h n=1-x n22.正2n 边形的面积为正n 边形的面积S n 再加上n 个等腰三角形(ADB)的面积和,即S 2n =S n +n·12·x n (1-h n ).① 正2n 边形的边长为x 2n =x n 22+-h n 2.刘徽割圆术还注意到,如果在内接n 边形的每一边上,作一高为CD 的矩形,就可得到 S 2n <S<S 2n +(S 2n -S n ).②这样,我们就不仅可计算出圆周率的不足近似值,还可计算出圆周率的过剩近似值. 从正六边形的面积开始计算,即n =6,则正六边形的面积S 6=6×34.用上面的公式①重复计算,就可得到正十二边形、正二十四边形……的面积.因为圆的半径为1,所以随着n 的增大,S 2n 的值不断趋近于圆周率,这样不断计算下去,就可以得到越来越精密的圆周率近似值.下面我们根据刘徽割圆术的算法思想,用Scilab 语言写出求π的不足近似值的程序:n =6;x =1;s =6 * sqrt(3)/4;for i =1:1:5①h =sqrt(1-(x/2)^2);s =s +n *x * (1-h)/2;n =2 *n ;x =sqrt(x/2)^2+(1-h)^2);endprint(%io(2),n ,s);注:①此处i 的终值为5.当i 的终值为1,2,…时,程序分别算出正十二边形、正二十四边形……的面积.运行程序,当边数为192时,就可以得到刘徽求得的圆周率的近似值3.14,当边数为 24 576 时,就得到了祖冲之计算的结果 3.141 592 6.由于是用圆内接正多边形逼近圆,因而得到的圆周率总是小于π的实际值.作为练习,请同学编出程序求S 2n +(S 2n -S n )(n =6,12,…)作为π的过剩近似值.提出问题错误!讨论结果:(1)怎样求多项式f(x)=x 5+x 4+x 3+x 2+x +1当x =5时的值呢?一个自然的做法就是把5代入多项式f(x),计算各项的值,然后把它们加起来,这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.另一种做法是先计算x 2的值,然后依次计算x 2·x,(x 2·x)·x,((x 2·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例用秦九韶方法求多项式f(x)=1+x+0.5x2+0.166 67x3+0.041 67x4+0.008 33x5在x=-0.2时的值.解:x=-0.2,a5=0.008 33 v0=a5=0.008 33a4=0.041 67 v1=v0x+a4=0.04a3=0.166 67 v2=v1x+a3=0.158 67a2=0.5 v3=v2x+a2=0.468 27a1=1 v4=v3x+a1=0.906 35a0=1 v5=v4x+a0=0.818 73所以 f(-0.2)=0.818 73.点评:秦九韶用上述多项式求值的算法,并通过减根变换,给出了求高次代数方程根的完整算法.这一成就要比西方同样的算法早五六百年.这样的算法很容易在计算器或计算机上实现.思路2已知一个5次多项式为f(x)=5x5+2x4+3.5x3-2.6x2+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 ,我们可以得到下面的公式:⎩⎪⎨⎪⎧ v 0=a n ,v k =v k -1x +a n -k =1,2,…,这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.算法步骤如下:S1 输入多项式次数n 、最高次的系数a n 和x 的值;S2 将v 的值初始化为a n ,将i 的值初始化为n -1;S3 输入i 次项的系数a i ;S4 v =vx +a i ,i =i -1;S5 判断i 是否大于或等于0.若是,则返回S3;否则,输出多项式的值v. 乘法运算的次数最多可到达+,加法最多n 次.秦九韶算法通过转化把乘法运算的知能训练当x =2时,用秦九韶算法求多项式f(x)=3x 5+8x 4-3x 3+5x 2+12x -6的值.解法一:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((3x +8)x -3)x +5)x +12)x -6.按照从内到外的顺序,依次计算一次多项式当x =2时的值.v 0=3;v 1=v 0×2+8=3×2+8=14;v 2=v 1×2-3=14×2-3=25;v 3=v 2×2+5=25×2+5=55;v 4=v 3×2+12=55×2+12=122;v 5=v 4×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—3A 4.设计感想古老的算法散发浓郁的现代气息,这是一节充满智慧的课.本节主要介绍了秦九韶算法.通过对秦九韶算法的学习,对算法本身有哪些进一步的认识?教师引导学生思考、讨论、概括,小结时要关注如下几点:(1)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应该选择高效的算法;(3)算法的种类虽多,但三种逻辑结构可以有效地表达各种算法等等.备课资料进位制进位制是人们为了计数和运算方便而约定的计数系统.约定满二进一,就是二进制,约定满十进一,就是十进制.即满几进一就是几进制.一般来说,以k为基数的k进制数可以表示为一串数字连写在一起的形式:a n a n-1…a1a0(k)(0<a n<k),0≤a i<k(i=0,1,…,n-1).将k进制数用十进制表示,应等于:a n a n-1…a1a0(k)=a n×k n+a n-1×k n-1+…+a1×k1+a0×k0.将十进制数用k进制表示,可以采用除k取余法.。
1.3 中国古代数学中的算法案例预习课本P27~32,思考并完成以下问题 (1)如何求两个数的最大公约数?(2)秦九韶算法的原理是什么?[新知初探]1.“更相减损之术”更相减损之术就是对于给定的两个数,以两数中较大的数减去较小的数,然后将差和较小的数构成一对新数,再用较大的数减去较小的数,反复执行此步骤直到差和较小的数相等,此时相等的两数便为两个原数的最大公约数.2.割圆术割圆术是我国魏晋时期的数学家刘徽在注《九章算术》中所采用的用正多边形面积逐渐逼近圆面积的算法计算圆周率π的方法.3.秦九韶算法把一元n 次多项式函数P (x )=a n x n+a n -1xn -1+…+a 1x +a 0改写:P (x )=a n x n +a n -1x n -1+…+a 1x +a 0=(a n xn -1+a n -1xn -2+…+a 1)x +a 0 =((a n xn -2+a n -1xn -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, 令v k =(…(a n x +a n -1)x +…+a n -(k -1))x +a n -k ,则递推公式为⎩⎪⎨⎪⎧v 0=a n ,v k =v k -1x +a n -k 其中k =1,2,…,n .这样求一元n 次多项式P (x )的值就转化为求n 个一次多项式的值,这种求n 次多项式值的方法就叫做秦九韶算法.[小试身手]1.用更相减损术求98与63的最大公约数时,需做减法的次数为( ) A .4 B .5 C .6D .7解析:选C (98,63)→(35,63)→(35,28)→(7,28)→(7,21)→(7,14)→(7,7),∴共进行6次减法.2.225与150的最大公约数是( ) A .15 B .30 C .45D .75解析:选D 因为(225,150)→(75,150)→(75,75),所以225与150的最大公约数是75. 3.已知多项式f (x )=4x 5+3x 4+2x 3-x 2-x -12,用秦九韶算法求f (-2)等于( )A .-1972B.1972C.1832D .-1832解析:选A ∵f (x )=((((4x +3)x +2)x -1)x -1)x -12,∴f (-2)=-1972.4.用圆内接正多边形逼近圆,因而得到的圆周率总是________π的实际值. 解析:用割圆术法求出的是π的不足近似值. 答案:小于求最大公约数[典例] 求261和[解] 319-261=58,(261,319)→(261,58)→(203,58)→(145,58)→(87,58)→(29,58)→(29,29),所以319与261的最大公约数是29.“更相减损之术”求两个数的最大公约数的算法步骤第一步,给定两个正整数m ,n (m >n ). 第二步,计算m -n 所得的差k .第三步,比较n 与k 的大小,其中大者用m 表示,小者用n 表示. 第四步,若m =n ,则m ,n 的最大公约数等于m ;否则,返回第二步. [活学活用]1.用更相减损之术求36与135的最大公约数,需做减法的次数是________. 解析:(135,36)→(99,36)→(63,36)→(36,27)→(27,9)→(18,9)→(9,9),故共进行了6次减法运算.答案:62.求378与90的最大公约数.解:法一:378-90=288,288-90=198,198-90=108,108-90=18,90-18=72,72-18=54,54-18=36,36-18=18,∴378与90的最大公约数是18.法二:378=90×4+18,90=18×5,∴378与90的最大公约数是18.用秦九韶算法求多项式的值[典例] 764时的值.[解] 根据秦九韶算法,把多项式改写成如下形式:f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.而x=2,所以有v0=8,v1=8×2+5=21,v2=21×2+0=42,v3=42×2+3=87,v4=87×2+0=174,v5=174×2+0=348,v6=348×2+2=698,v7=698×2+1=1 397.所以当x=2时,多项式的值为1 397.应用秦九韶算法计算多项式的值应注意的3个问题(1)要正确将多项式的形式进行改写.(2)计算应由内向外依次计算.(3)当多项式函数中间出现空项时,要以系数为零的齐次项补充.[活学活用]用秦九韶算法写出当x=3时,f(x)=2x5-4x3+3x2-5x+1的值.解:因为f(x)=((((2x+0)x-4)x+3)x-5)x+1,v0=2,v1=2×3+0=6,v2=6×3-4=14,v3=14×3+3=45,v4=45×3-5=130,v5=130×3+1=391,所以f(3)=391.[层级一学业水平达标]1.78与36的最大公约数是( )A.24 B.18C.12 D.6解析:选D (78,36)→(42,36)→(36,6)→…→(6,6).2.用秦九韶算法求多项式f(x)=x3-3x2+2x-11的值时应把f(x)变形为( ) A.x3-(3x+2)x-11B.(x-3)x2+(2x-11)C.(x-1)(x-2)x-11D.((x-3)x+2)x-11解析:选D f(x)=x3-3x2+2x-11=((x-3)x+2)x-11.3.已知函数f(x)=x3-2x2-5x+6,则f(10)的值为________.解析:由秦九韶算法,得f(x)=x3-2x2-5x+6=(x2-2x-5)x+6=((x-2)x-5)x+6.当x=10时,f(10)=((10-2)×10-5)×10+6=(8×10-5)×10+6=75×10+6=756.答案:7564.求168,54,264的最大公约数.解:为简化运算,先将三个数用2约简为84,27,132.由更相减损之术,先求84与27的最大公约数.84-27=57,57-27=30,30-27=3,27-3=24,24-3=21,21-3=18,18-3=15, 15-3=12,12-3=9,9-3=6,6-3=3, 故84与27的最大公约数是3. 再求3与132的最大公约数.易知132=3×44,所以3与132的最大公约数就是3. 故84,27,132的最大公约数是3, 即168,54,264的最大公约数是6.[层级二 应试能力达标]1.用更相减损术求459与357的最大公约数,需要做减法的次数为( ) A .4 B .5 C .6D .7解析:选B 459-357=102,357-102=255,255-102=153,153-102=51,102-51=51,所以459与357的最大公约数为51,共做减法5次.2.用秦九韶算法求多项式f (x )=0.5x 5+4x 4-3x 2+x -1, 当x =3时的值时,先算的是( )A .3×3B .0.5×35C .0.5×3+4D .(0.5×3+4)×3解析:选C 把多项式表示成如下形式:f (x )=((((0.5x +4)x +0)x -3)x +1)x -1, 按递推方法,由内往外,先算0.5x +4的值.3.4 830与3 289的最大公约数为( ) A .23 B .35 C .11D .13解析:选A 4 830=1×3 289+1 541; 3 289=2×1 541+207; 1 541=7×207+92; 207=2×92+23;92=4×23; ∴23是4 830与3 289的最大公约数. 4.根据递推公式⎩⎪⎨⎪⎧v 0=a n ,v k =v k -1x +a n -k ,其中k =1,2,…,n ,可得当k =2时,v 2的值为( )A .v 2=a n x +a n -1B .v 2=(a n x +a n -1)x +a n -2C .v 2=(a n x +a n -1)xD.v2=a n x+a n-1x解析:选B 根据秦九韶算法知v0=a n,v1=a n x+a n-1,v2=v1x+a n-2=(a n x+a n-1)x+a n-2.5.用“更相减损之术”求128与48的最大公约数,第一步应为________________.解析:先求128-48的值,即128-48=80.答案:128-48=806.117与182的最大公约数等于________.解析:(117,182)→(117,65)→(52,65)→(52,13)→(39,13)→(26,13)→(13,13),所以其最大公约数为13.答案:137.阅读程序框图,利用秦九韶算法计算多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0,当x=x0时,框图中A处应填入________.解析:f(x)=a n x n+a n-1x n-1+…+a1x+a0,先用秦九韶算法改为一次多项式,f(x)=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.f1=a n;k=1,f2=f1x0+a n-1;k=2,f3=f2x0+a n-2;…;归纳得第k次f k+1=f k x0+a n-k.故A处应填a n-k.答案:a n-k8.用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64,当x=2时的值.解:将f(x)改写为f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64,v0=1,v1=1×2-12=-10,v2=-10×2+60=40,v3=40×2-160=-80,v4=-80×2+240=80,v5=80×2-192=-32,v6=-32×2+64=0.所以f(2)=0,即x=2时,原多项式的值为0.9.现有长度为2.4米和5.6米两种规格的钢筋若干,要焊接一批正方体模型,问怎样设计才能保证正方体的体积最大且不浪费材料?解:为了使所焊接正方体的体积最大,需找出两种规格的钢筋的最大公约数.使用更相减损之术:(5.6,2.4)→(3.2,2.4)→(0.8,2.4)→(0.8,1.6)→(0.8,0.8).因此将正方体的棱长设计为0.8米时,正方体的体积最大且不浪费材料.(时间120分钟,满分150分)一、选择题(本大题共12小题,每小题5分,共60分.在每小题给出的四个选项中,只有一项是符合题目要求的)1.下列赋值语句正确的是( )A.s=a+1 B.a+1=sC.s-1=a D.s-a=1解析:选A 赋值语句的格式为“变量=表达式”,“=”的左侧只能是单个变量,故B、C、D均不正确.2.在用“更相减损之术”求98和56的最大公约数时,操作如下:(98,56)→(56,42)→(42,14)→(28,14)→(14,14).由此可知两数的最大公约数为( ) A.98 B.56C.14 D.42解析:选C 由更相减损术可知两数最大公约数为14.3.阅读如图所示的程序框图,下列说法正确的是( )A.该框图只含有顺序结构、条件分支结构B.该框图只含有顺序结构、循环结构C.该框图只含有条件分支结构、循环结构D.该框图包含顺序结构、条件分支结构、循环结构解析:选D 阅读程序框图,可知该程序框图含有顺序结构、循环结构、条件分支结构,故选D.4.如图是计算函数y =⎩⎪⎨⎪⎧-x ,x ≤-2,0,-2<x ≤3,的值的程序2x ,x >3框图,在①②③处应分别填入的是()A .y =ln(-x ),y =0,y =2xB .y =ln(-x ),y =2x,y =0 C .y =0,y =2x,y =ln(-x ) D .y =0,y =ln(-x ),y =2x解析:选B 当x >-2不成立时,有x ≤-2,则①处填入y =ln(-x ); 当x >-2成立时,若x >3成立,则y =2x,则②处填入y =2x; 若x >3不成立,即-2<x ≤3,则y =0, 则③处填入y =0.5.由下面循环语句可知输出的结果是( )i =0;S =0;while S <=20 S =S +i ; i =i +1;end,;A .5B .6C .7D .8解析:选C 程序执行的功能是S =1+2+3+…+i ,当i =6时,S >20,终止循环,此时输出的i =7.6.执行两次如图所示的程序框图,若第一次输入的a 的值为-1.2, 第二次输入的a 的值为1.2, 则第一次、第二次输出的a 的值分别为( )A .0.2, 0.2B .0.2, 0.8C .0.8, 0.2D .0.8, 0.8解析:选C 当a =-1.2时,执行第一个循环体,a =-1.2+1=-0.2<0再执行一次第一个循环体,a =-0.2+1=0.8, 第一个循环体结束,输出;当a =1.2时,执行第二个循环体,a =1.2-1=0.2, 输出.7.已知函数f (x )=⎩⎪⎨⎪⎧0,x >0,-1,x =0,x +1,x <0,写f {f [f (2)]}的算法时,下列哪些步骤是正确的( )S1 由2>0,得f (2)=0;S2 由f (0)=-1,得f [f (2)]=f (0)=-1; S3 由-1<0,得f (-1)=-1+1=0, 即f {f [f (2)]}=f (-1)=0. A .S1 B .S2 C .S3D .三步都对解析:选D 以上三步遵循由内向外的计算顺序,计算结果正确,所以三步都对. 8.阅读如图所示的程序框图,运行相应的程序,则输出n 的值为( )A .7B .6C .5D .4解析:选B 第一次运行:S =0+(-1)1×1=-1<3;第二次运行:n =2,S =-1+(-1)2×2=1<3;第三次运行:n =3,S =1+(-1)3×3=-2<3;第四次运行:n =4,S =-2+(-1)4×4=2<3;第五次运行:n =5,S =2+(-1)5×5=-3<3;第六次运行:n =6,S =-3+(-1)6×6=3,满足S ≥3.故输出n 的值为6,故选B.9.若如图所示的程序框图输出的S 的值为126,则条件①为()A .n ≤5B .n ≤6C .n ≤7D .n ≤8解析:选B 由题知,第一次循环后,S =2,n =2;第二次循环后,S =6,n =3;第三次循环后,S =14,n =4;第四次循环后,S =30,n =5;第五次循环后,S =62,n =6;第六次循环后,S =126,n =7,满足了S =126,循环结束,所以条件①为n ≤6.10.阅读如图所示的程序框图,运行相应的程序,若输出的结果是4,则程序框图中的处理框“①”处应填写的是()A .n =n -1B .n =n -2C .n =n +1D .n =n +2解析:选C 因为起始n =1,输出的n =4,所以排除A 、B.若“①”处填n =n +1.则S =11-2=-1,n =2,判断-1≠2,继续循环;S =11--=12,n =3,判断12≠2,继续循环;S =11-12=2,n =4,判断2=2,则输出n 的值为4,故选C.11.用秦九韶算法求多项式f (x )=12+35x -8x 2+79x 3+6x 4+5x 5+3x 6的值,当x =-4时,v 4的值为( )A .-57B .124C .-845D .220解析:选D 依据秦九韶算法有v 0=a 6=3,v 1=v 0x +a 5=3×(-4)+5=-7,v 2=v 1x +a 4=-7×(-4)+6=34,v 3=v 2x +a 3=34×(-4)+79=-57,v 4=v 3x +a 2=-57×(-4)+(-8)=220,故选D.12.执行如图所示的程序框图,若输出S =49,则输入整数n =( )A .8B .9C .10D .8或9解析:选D 在条件成立的情况下,执行第一次循环后,S =13,i =4;执行第二次循环后,S =25,i =6;执行第三次循环后,S =37,i =8;执行第四次循环后,S =49,i =10.若n=8或n =9,此时10≤n 不成立,退出循环,输出S =49,因此n =8或n =9,故选D.二、填空题(本大题共4小题,每小题5分,共20分.请把正确答案填在题中横线上) 13.下列程序运行后输出的结果为________.解析:当x =5时,y =-20+3=-17, 所以最后输出的x -y =5-(-17)=22. 答案:2214.用秦九韶算法求多项式P (x )=8x 4-17x 3+7x -2,当x =21的值时,需把多项式改写为________.解析:根据秦九韶算法的原理可知,把多项式改写为P (x )=(((8x -17)x +0)x +7)x -2.答案:P (x )=(((8x -17)x +0)x +7)x -215.定义某种运算⊗,S =a ⊗b 的运算原理如下图所示,则0⊗(-1)=________;设f (x )=(0⊗x )x -2⊗x ,则f (1)=________.解析:因为0>-1, 故S =0⊗(-1)=|-1|=1.又因为,0<1,故0⊗1=0.而2>1, 故2⊗1=1.故f (1)=(0⊗1)×1-2⊗1 =0-1=-1. 答案:1 -116.执行如图所示的框图所表达的算法,如果最后输出的S 值为12 016,那么判断框中实数a 的取值范围是________.解析:当1≤a <2时,输出的S 值为11+1=12;当2≤a <3时,输出的S 值为121+12=13;当3≤a <4时,输出的S 值为131+13=14;…;当2 015≤a<2 016时,输出的S值为12 016.答案:[2 015,2 016)三、解答题(本大题共6小题,共70分.解答应写出文字说明,证明过程或演算步骤)17.(本小题满分10分)求72,120,168的最大公约数.解:由更相减损之术,得168-120=48,120-48=72,72-48=24,48-24=24,故120和168的最大公约数是24.而72-24=48,48-24=24,故72和24的最大公约数也是24,所以72,120,168的最大公约数是24.18.(本小题满分12分)编写一个程序,输出使1+4+7+…+i≥300成立的最小的正整数i.解:程序如下:S=0;i=1;while S<300S=S+i;i=i+3;end,i-;19.(本小题满分12分)用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x,当x=3时的值.解:f(x)=((((((7x+6)x+5)x+4)x+3)x+2)x+1)x,所以当x=3时,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=21 324,故x=3时,多项式f(x)的值为21 324.20.(本小题满分12分)某公司为激励广大员工的积极性,规定:若推销产品价值在10 000元之内的年终提成5%;若推销产品价值在10 000元以上(包括10 000元),则年终提成10%,设计一个求公司员工年终提成f (x )的算法的程序框图.解:程序框图如下图所示:21.(本小题满分12分)如图所示,在边长为4的正方形ABCD 的边上有一点P ,沿着边线BCDA 由点B (起点)向点A (终点)运动.设点P 运动的路程为x ,△APB 的面积为y ,求y 与x 之间的函数关系式并画出程序框图.解:函数关系式为 y =⎩⎪⎨⎪⎧2x ,0≤x ≤4,8,4<x ≤8,-x ,8<x ≤12.程序框图如图所示:22.(本小题满分12分)给出30个数1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依此类推,要计算这30个数的和.现已给出了该问题算法的程序框图(如图所示).(1)请在图中①处和②处填上合适的语句,使之能完成算法功能;(2)根据程序框图写出程序.解:(1)①处应填i≤30,②处应填p=p+i.(2)程序如下:。