高三数学算法案例4(1)
- 格式:ppt
- 大小:608.00 KB
- 文档页数:15
教学目标:1.理解不定方程的算法中蕴含的数学原理,并能根据这些原理进行2.理解不定方程的算法的方法与步骤.3.能根据算法语句与伪代码语句的知识设计完整的流程图并写出伪代码语句算法程序.4.使学生初步掌握不定方程的算法设计和列举法的基本思想.教学方法:1.通过讲解中国古代的一个有趣的故事的方法引入新知识,可以使学生容易接受,易于激发学生的求知欲.2.教学中利用探索性教学法,可以加深学生对不定方程的算法的理解,有利于培养学生的理性思维和实践能力.3.通过本节课的学习,使学生进一步体会观察、比较、归纳、分析等一般科学方法的运用.教学过程:一、问题情境情境:韩信是秦末汉初的著名军事家.据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数.韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行.二、学生活动1.同学们想一想,韩信是如何得出正确的人数的?2.类似的问题最早出现在我国的《算经十书》之一的《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:「二十三」”3.孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理.中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位;4.该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”.在中国还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知.它的意思是说:将某数(正整数)除以3所得的余数乘以70,除以5所得的余数乘以21,除以7所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105为止.所得结果就是某数的最小正整数值.用上面的歌诀来算《孙子算经》中的问题,便得到算式:2×70+3×21+2×15=233,233-105×2=23,即所求物品最少是23件.三、建构教学“孙子问题”相当于求关于,,x y z 的不定方程组的325372m x m y m z =+⎧⎪=+⎨⎪=+⎩的正整数解;设所求的数为m ,根据题意m 应该同时满足下列三个条件:①m 被3除后余2,即mod(,3)2m =;②m 被5除后余3,即mod(,5)3m =;③m 被7除后余2,即mod(,7)2m =;用自然语言可以将算法写为:1S 1m ←2S 1m m ←+3S 如果mod(,3)2m =且mod(,5)3m =且mod(,7)2m =则执行4S ,否则执行2S ;4S 输出m伪代码:1m ←DO1m m ←+Loop Until mod(,3)2m =且mod(,5)3m =且mod(,7)2m =Print m流程图为:四、数学运用例题有3个连续的自然数,其中最小的能被15整除,中间的能被17整除,最大的能被19整除,求满足要求的一组三个连续的自然数.伪代码:思考:以下伪代码是否可行?k←1a←15kWhile Mod(a+1,17)≠0 orMod(a+2,19)≠0k←k+1a←15kEnd WhilePrint a,a+1,a+2五、要点归纳与方法小结本节课学习了以下内容:1.中国数学在世界数学史上的巨大贡献;2.实际问题的分析和解决问题过程;3.算法的表示及语句的运用.。
算法案例(讲义)➢ 知识点睛典型算法举例: 1. 辗转相除法①方法概述:两数相除,较大数除以较小数,得商和余数,继而较小数除以余数,重复操作,直至除尽,此时除数即为最大公约数.②原理:在a =bq +r 中,除数b 和余数r 能被同一个数整除,那么被除数a 也能被这个数整除.或者说,除数与余数的最大公约数,就是被除数与除数的最大公约数. 2. 秦九韶算法把一个n 次多项式改写成如下形式:1110121102312101210()()(())((()))n n n n n n n n n n n n n n n f x a x a x a x 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 ----------=++++=++++=+++++==+++++……………… 记0n v a =,11n n v a x a -=+,…,10n n v v x a -=+.求多项式的值时,首先计算最内层括号内一次多项式的值,即v 1,然后由内向外逐层计算. 3. 进位制①k 进制:若k 是一个大于1的整数,那么以k 为基数的k 进制数可以表示为一串数字连写在一起的形式.110()n n k a a a a -…11011000n n n n a a a a N a k a a a k --∈<<<≤(,,…,,,,,…,,)②进位制数相互转化:k 进制转十进制,计算k 进制数a 的右数第i 位数字i a 与1i k -的乘积1i i a k -⋅,再将其累加,重复操作求和.十进制数转k 进制数(除k 取余法): 如右图,十进制数化为二进制数, 89=1011001(2).➢ 精讲精练1. 用“辗转相除法”求下列数的最大公约数:(1)459和357的最大公约数是____________;余数2222222012511224489(2)三个数324243135,,的最大公约数是____________.2. 用秦九韶算法求多项式的值:(1)计算多项式x x x x x x x f 876543)(23456+++++=在1.0=x 时的值时,需要做乘法和加法的次数分别是_______,_______;(2)求多项式23456()1235879653f x x x x x x x =+-++++在x =-4的值时,4v 的值为_______;(3)计算多项式5432()853261f x x x x x x =+++++,当2x =时的值为________. 3. 完成下列进制的转化:(3)(10)10202____=; (10)__________(8)101=;1231(5)=_____________(7).4. 三位七进制的数表示的最大的十进制的数是( )A .322B .402C .342D .3655. 在下列各数中,最小的数是( )A .)9(85B .)6(210C .)4(1000D .(2)1111116. 已知三个数12(16),25(7),33(4),按照从小到大的顺序排列为________________.7. 已知()175r =(10)125,则r =________.8. 如图所示的程序框图的算法思路来源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a ,b 的值分别为14,18,则输出的a 的值为( ) A .0B .2C .4D .149. 如图所示的程序框图给出了利用秦九韶算法求多项式值的一个实例,若输入n ,x 的值分别为3,2,则输出v 的值为( ) A .35B .20C .18D .910.下面是把二进制数(2)11111化为十进制数的一个程序框图,判断框内应填入的条件是()A.5i>?B.4i≤?C.4i>?D.5i≤?11.执行如图所示的程序框图后,输出的值为4,则P的取值范围是()A.715816P<≤B.1516P>C.3748P<≤D.715816P<≤12.设a是一个各位数字都不是0且没有重复数字的三位数.将组成a的3个数字按从小到大排成的三位数记为I(a),按从大到小排成的三位数记为D(a)(例如a=815,则I(a)=158,D(a)=851).阅读如图所示的程序框图,运行相应的程序,任意输入一个a,输出的结果b=________.13. 已知函数232 1 01 012 1x x y x x x x x -<⎧⎪=+<⎨⎪+⎩≤≥()()(),写出求该函数的函数值的算法,并画出程序框图.14. 设计一算法,求使20063212222>++++n Λ成立的最小正整数n 的值.15.设计算法计算:1112131415167S=++++++,画出程序框图.【参考答案】1. (1)51;(2)272. (1)6;5;(2)220;(3)3813. 101 145 3624. C5. D6. (4)(16)(7)331225<<7. 88. B9. C 10. C 11. C 12. 495 13. 略 14. 略 15. 略算法案例(随堂测试)1. 372和684的最大公约数是( )A .36B .186C .12D .5892. 用秦九韶算法计算多项式65432()3567983512f x x x x x x x =+++-++在x =-4时的值时,v 2的值为( )A .-57B .-22C .34D .743. 1234(8)=________(10);300=________(5);300=_______(6).4. 设计一个算法,输入正整数n ,输出111123n++++….【参考答案】1. C2. C3. 668;2 200;1 2204. 略算法案例(习题)➢ 巩固练习5. 求下列数的最大公约数:(1)1 443与999的最大公约数是_____________;(2)319,377,116的最大公约数是___________.6. 用秦九韶算法求n 次多项式1110()n n n n f x a x a x a x a --=++++…,当x =x 0时,0()f x 需要算乘法、加法的次数分别为( ) A .n 2,nB .2n ,nC .n ,2nD .n ,n7.已知532=++++,运用秦九韶算法计算x=3时的值时,v3的值为()()231f x x x x xA.27 B.11 C.109 D.368.用秦九韶算法求多项式765432=++++++在x=3时的值为________.()765432f x x x x x x x x9.把21化为二进制数,则此数为()A.10011(2)B.10110(2)C.10101(2)D.11001(2)10.一个k进制的三位数与某六进制的二位数等值,则k不可能是()A.3 B.4 C.5 D.711.下列各数中,最小的数是()A.75B.210(6)C.111111(2)D.85(9)12.若a=33(10),b=52(6),c=11111(2),则三个数的大小关系是()A.c>b>a B.b>c>a C.c>a>b D.a>b>c13.中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=()A.7B.12C.17D.34第9题图第10题图14.如图是一个算法的程序框图,该算法所输出的结果是()A.11112310++++…B.11113519++++…C.111124620++++…D.231011112222++++…15.某程序框图如图所示,若输出的S=57,则判断框内为()A.k>4?B.k>5?C.k>6?D.k>7?11第11题图 第12题图16. 执行如图所示的程序框图,若输入k 的值为8,则判断框图可填入的条件是( )A .S ≤34?B .S ≤56?C .S ≤1112? D .S ≤1524?17. 设计一个算法,输入两个数,输出两个数中较大的一个.18.已知函数21111131x x y x x x x ⎧-<-⎪=+-⎨⎪+>≤≤()()(),试画出求函数值的程序框图.19. 对任意给定的正整数n ,写出一个求13+23+33+…+n 3的算法程序框图.20.设计算法求111112233499100++++⨯⨯⨯⨯…的值,要求画出程序框图.【参考答案】1.(1)111 (2)292.D3.D4.213245.C6.D7.C8.D9.C10.C11.A12.C13.略14.略15.略16.略12。
算法案例知识图谱算法案例知识精讲一.更相减损术应用:求两个整数的最大公约数的算法更相减损术的步骤:1.任意给定两个正整数;判断它们是否都是偶数.若是,则用2约简;若不是则执行第二步.2.以两个数中较大的数减去较小的数,以差数和较小的数构成一对新的数,对这一对数再用大数减小数,以同样的操作一直做下去,直到产生一对相等的数为止,则第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数.等值算法:用“更相减损术”设计出来的算法求最大公约数的算法称为“等值算法”,用等值算法可以求任意两个正整数的最大公约数.说明:《九章算法》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数.以具体的例子来说明更相减损术求最大公约数的原理:以求117和182的最大公约数为例:,,,,,,,,(117182)(11765)(6552)(5213)(1339)(1326)(1313)→→→→→→每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数,即为所求的最大公约数.二.辗转相除法又称欧几里得算法,是由欧几里得在公元前300年左右首先提出来的求两个数的最大公约数的算法.辗转相除法的步骤:对于给定的两个数,以其中较大的数除以较小的数得到一个余数,将较小的数与余数看成一对新的数,重复上面的步骤,直到余数为零为止,此时上一步中较小的数即为所求的最大公约数.以求117和182的最大公约数为例:,,,,,,故13即为所求.→→→→(117182)(11765)(6552)(5213)(130)三.秦九韶算法—求多项式的值的算法应用:快速的求解对于任意一个n次的多项式在某点所取到的值.秦九韶算法:已知一个多项式函数,计算多项式在某点处的函数值的一种算法,是我国古代数学家秦九韶提出的,具体如下.对任意一个n 元多项式1110()n n n n f x a x a x a x a --=++++ ,改写成如下形式:12110()()n n n n f x a x a x a x a ---=++++ 231210(())n n n n a x a x a x a x a ---=+++++ = 1210((()))n n n a x a x a x a x a --=+++++ ,求多项式的值时,先计算最内层括号内的一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+, ,10n n v v x a -=+.这样,求一个n 次多项式的值,就转化为求n 个一次多项式的值.令1(1)(())k n n n k n k v a x a x a x a ----=++++ ,则递推公式为01n kk n k v a v v x a --=⎧⎨=+⎩,其中12k n = ,,,.到目前为止,此算法仍然是世界上多项式求值的最先进的算法.秦九韶算法与其它算法在计算量上面的比较:1110()n n n n f x a x a x a x a --=++++ ,1.直接求和法:先计算各个单项式的值,再把它们相加,乘法次数为(1)(1)212n n n n ++-+++= ,加法次数n ;2.逐项求和法:先计算x 的各项幂的值,再分别相乘,计算幂值需要乘法1n -次,将幂值与多项式系数k a 相乘需要乘法n 次,故共需要乘法21n -次,加法n 次.此方法对直接求和法有所改进,但仍然比秦九韶算法计算量大很多.3.秦九韶算法:计算量仅为乘法n 次,加法n 次.<备注>秦九韶算法是多项式求值的优秀算法,秦九韶算法的特点:(1)化高次多项式求值为一次多项式求值;(2)减少了运算次数,提高了效率;(3)步骤重复执行,容易用计算机实现.利用秦九韶算法计算多项式的值关键是能正确地将所给多项式改写,然后由内向外逐次计算,由于后项计算用到前项的结果,故应认真、细心,确保中间结果的准确性.若在多项式中有几项不存在时,可将这些项的系数看成0,即把这些项看做0·x n .三点剖析一.注意事项1.辗转相除法与更相减损术联系(1)都是求最大公约数的方法,计算上,辗转相除法以除法为主,更相减损术以减法为主,计算次数上,辗转相除法计算次数相对较少,特别当两个数大小差距较大时,计算次数的区别比较明显;(2)从结果的体现形式来看,辗转相除法体现结果是以相除余数为零而得到,而更相减损术则是以减数与差相等而得到;(3)辗转相除法与更相减损术是统一的,因为做一次除法与做若干次减法的效果相同.二.方法点拨1.两个整数的最大公约数是两个整数的公约数中最大的数,与此类似,两个整数的最小公倍数是两个整数的公倍数中最小的数.2.穷举法是将集合中的元素进行一一列举,逐个条件进行验证,知道找出满足条件的元素为止,穷举法可以解决所有问题看,但是一般来说常常可以用来解决一些无规律可循的问题,例如求不定方程的解或者不定方程组的解,运用穷举法思想设计算法时,常常采用循环结构,将验证条件为循环结构的判断条件,将每一个元素作为循环体.求两个正整数的最大公约数例题1、8251与6105的最大公约数是____.例题2、用更相减损来求80和36的最大公约数?例题3、用更相减损术求294与84的最大公约数.随练1、两个数153和119的最大公约数是______________.随练2、用更相减损术求294与84的最大公约数.随练3、有甲、乙、丙三种溶液分别重147g、343g、133g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?秦九韶算法例题1、用秦九韶算法求多项式f(x)=x4+2x3+x2-3x-1,当x=2时的值,则v3=______例题2、使用秦九韶算法计算x=2时f(x)=6x6+4x5-2x4+5x3-7x2-2x+5的值,所要进行的乘法和加法的次数分别为________随练1、用秦九韶算法求多项式f(x)=1+2x+x2-3x3+2x4在x=-1时的值,v2的结果是______随练2、用秦九韶算法计算多项式f(x)=5x5+4x4+3x3-2x2-x-1在x=-4时的值时,需要进行的乘法、加法的次数分别是_______拓展1、用更相减损术求78和36的最大公约数_________.2、三个数208,351,429的最大公约数是()A.65B.91C.26D.133、用“辗转相除法”求得459和357的最大公约数是()A.3B.9C.17D.514、用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6在x=-4的值时,其中V1的值=_______5、用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是。
高三数学说课稿:算法案例—辗转相除法
编辑寄语:本教案《算法案例辗转相除法》是我对整节课或本课时需要达到的目标进行的归总,希望对老师有所帮助。
算法案例辗转相除法
育才中学潘敏
一、教材分析
选自苏教版普通高中课程标准实验教科书必修3 第一章第4 节。
1、地位作用:
与传统教学内容相比,《算法初步》为新增内容,算法是计算机科学的重要基础,从日常生活的电子邮件发送到繁忙的交通管理,从与人们生产、生活息息相关的天气预报到没有硝烟的战争模拟等等都离不开计算机算法。
算法思想已经渗透到社会的方方面面,算法思想也逐渐成为每个现代人应具有的数学素养。
在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程,求解方程的步骤,以及将要学习的数列求和等等,完成这些工作都需要一系列程序化的步骤,这就是算。