1.3算法案例(第一课时)(必修3)
高一数学必修3课件:1-3-1辗转相除法与更相减损术、秦九韶算法

MOD n
END
第一章
1.3
第1课时
成才之路 ·数学 ·人教A版 · 必修3
(2)更相减损术. 算法步骤: 第一步,任意给定两个正整数,判断它们是否都是
偶数 2 _____.若是,用___约简;若不是,执行第二步. 减 第二步,以较大的数___去较小的数,接着把所得的差与 大 小 较小的数比较,并以___数减___数.继续这个操作,直到所
第一章
1.3
第1课时
成才之路 ·数学 ·人教A版 · 必修3
这样的问题,也有人称为“韩信点兵”.它形成了一类 问题,也就是初等数论中解同余式.这类问题的有解条件和 解题方法被称为“中国剩余定理”,这是由中国人首先提出 的. 在本节中我们将通过一些典型的算法案例,来体会我国 古代数学的伟大成就和显著特色.
[解析]
①i MOD 2=0
改写为 WHILE 语句为: i=1 WHILE i<=100 IF i MOD 2=0 THEN PRINT i END IF i=i+1 WEND END
第一章
1.3
第1课时
成才之路 ·数学 ·人教A版 · 必修3
新课引入
第一章
1.3
第1课时
成才之路 ·数学 ·人教A版 · 必修3
第三步,m=n,n=r. 第四步,若 r=__,则 m,n 的最大公约数等于 m;否则 0
二 返回 第___步.
第一章
1.3
第1课时
成才之路 ·数学 ·人教A版 · 必修3
②程序框图如图所示.
第一章
1.3
第1课时
成才之路 ·数学 ·人教A版 · 必修3
2016-2017学年新人教A版必修3高中数学 1.3.1 辗转相除法与更相减损术、秦九韶算法素材 (1)(精品)

1.3.1辗转相除法与更相减损术、秦九韶算法
教学建议
1.关于辗转相除法和更相减损术的教学.
建议教师通过实例让学生清楚地认识辗转相除法与更相减损术的过程与原理,然后让学生自己用程序框图和算法语句来表示求解过程,以加深学生对所学知识的理解.
2.关于秦九韶算法的教学.
建议教师在教学时通过探讨多项式求值的算法引入本课时内容,这样可以建立一个评价算法好坏的标准,通过计算乘法与加法运算的次数来说明秦九韶算法的妙处所在.通过程序的演示过程体现计算机辅助学习的重要应用,也激发学生探讨算法的潜在能力.。
【人教A版高一数学必修3教学设计】1.3 算法案例

1.3 算法案例整体设计教学分析在学生学习了算法的初步知识,理解了表示算法的算法步骤、程序框图和程序三种不同方式以后,再结合典型算法案例,让学生经历设计算法解决问题的全过程,体验算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.三维目标1.理解算法案例的算法步骤和程序框图.2.引导学生得出自己设计的算法程序.3. 体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.重点难点教学重点:引导学生得出自己设计的算法步骤、程序框图和算法程序.教学难点:体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力. 课时安排3课时教学过程第1课时案例1 辗转相除法与更相减损术导入新课思路1(情境导入)大家喜欢打乒乓球吧,由于东、西方文化及身体条件的不同,西方人喜欢横握拍打球,东方人喜欢直握拍打球,对于同一个问题,东、西方人处理问题方式是有所不同的.在小学,我们学过求两个正整数的最大公约数的方法:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来. 当两个数公有的质因数较大时(如8 251与6 105),使用上述方法求最大公约数就比较困难.下面我们介绍两种不同的算法——辗转相除法与更相减损术,由此可以体会东、西方文化的差异.思路2(直接导入)前面我们学习了算法步骤、程序框图和算法语句.今天我们将通过辗转相除法与更相减损术来进一步体会算法的思想.推进新课新知探究提出问题(1)怎样用短除法求最大公约数?(2)怎样用穷举法(也叫枚举法)求最大公约数?(3)怎样用辗转相除法求最大公约数?(4)怎样用更相减损术求最大公约数?讨论结果:(1)短除法求两个正整数的最大公约数的步骤:先用两个数公有的质因数连续去除,一直除到所得的商是两个互质数为止,然后把所有的除数连乘起来.(2)穷举法(也叫枚举法)穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数.(3)辗转相除法辗转相除法求两个数的最大公约数,其算法步骤可以描述如下:第一步,给定两个正整数m,n.第二步,求余数r:计算m除以n,将所得余数存放到变量r中.第三步,更新被除数和余数:m=n,n=r.第四步,判断余数r是否为0.若余数为0,则输出结果;否则转向第二步继续循环执行.如此循环,直到得到结果为止. 这种算法是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.(4)更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术. 《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”翻译为现代语言如下:第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用2约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.应用示例例1 用辗转相除法求8 251与6 105的最大公约数,写出算法分析,画出程序框图,写出算法程序.解:用两数中较大的数除以较小的数,求得商和余数:8 251=6 105×1+2 146.由此可得,6 105与2 146的公约数也是8 251与6 105的公约数,反过来,8 251与6 105的公约数也是6 105与2 146的公约数,所以它们的最大公约数相等.对6 105与2 146重复上述步骤:6 105=2 146×2+1 813.同理,2 146与1 813的最大公约数也是6 105与2 146的最大公约数.继续重复上述步骤:2 146=1 813×1+333,1 813=333×5+148,333=148×2+37,148=37×4.最后的除数37是148和37的最大公约数,也就是8 251与6 105的最大公约数.这就是辗转相除法.由除法的性质可以知道,对于任意两个正整数,上述除法步骤总可以在有限步之后完成,从而总可以用辗转相除法求出两个正整数的最大公约数.算法分析:从上面的例子可以看出,辗转相除法中包含重复操作的步骤,因此可以用循环结构来构造算法.算法步骤如下:第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数为r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.程序框图如下图:程序:INPUT m,nDOr=m MOD nm=nn=rLOOP UNTIL r=0PRINT mEND点评:从教学实践看,有些学生不能理解算法中的转化过程,例如:求8 251与6 105的最大公约数,为什么可以转化为求6 105与2 146的公约数.因为8 251=6 105×1+2 146,可以化为8 251-6 105×1=2 164,所以公约数能够整除等式两边的数,即6 105与2 146的公约数也是8 251与6 105的公约数.变式训练你能用当型循环结构构造算法,求两个正整数的最大公约数吗?试画出程序框图和程序.解:当型循环结构的程序框图如下图:程序:INPUT m,nr=1WHILE r>0r=m MOD nm=nn=rWENDPRINT mEND例2 用更相减损术求98与63的最大公约数.不是偶数,把98和63以大数减小数,并辗转相减,如下图所示.所以,98和63的最大公约数等于7.点评:更相减损术与辗转相除法的比较:尽管两种算法分别来源于东、西方古代数学名著,但是二者的算理却是相似的,有异曲同工之妙.主要区别在于辗转相除法进行的是除法运算,即辗转相除;而更相减损术进行的是减法运算,即辗转相减,但是实质都是一个不断的递归过程.变式训练用辗转相除法或者更相减损术求三个数324,243,135的最大公约数.解:324=243×1+81,243=81×3+0,则324与243的最大公约数为81.又135=81×1+54,81=54×1+27,54=27×2+0,则81 与135的最大公约数为27.所以,三个数324、243、135的最大公约数为27.另法:324-243=81,243-81=162,162-81=81,则324与243的最大公约数为81.135-81=54,81-54=27,54-27=27,则81与135的最大公约数为27.所以,三个数324、243.135的最大公约数为27.例3 (1)用辗转相除法求123和48的最大公约数.(2)用更相减损术求80和36的最大公约数.解:(1)辗转相除法求最大公约数的过程如下:123=2×48+27,48=1×27+21,27=1×21+6,21=3×6+3,6=2×3+0,最后6能被3整除,得123和48的最大公约数为3.(2)我们将80作为大数,36作为小数,因为80和36都是偶数,要除公因数2.80÷2=40,36÷2=18.40和18都是偶数,要除公因数2.40÷2=20,18÷2=9.下面来求20与9的最大公约数,20-9=11,11-9=2,9-2=7,7-2=5,5-2=3,3-2=1,2-1=1,可得80和36的最大公约数为22×1=4.点评:对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.变式训练分别用辗转相除法和更相减损术求1 734,816的最大公约数.解:辗转相除法:1 734=816×2+102,816=102×8(余0),∴1 734与816的最大公约数是102.更相减损术:因为两数皆为偶数,首先除以2得到867,408,再求867与408的最大公约数.867-408=459,459-408=51,408-51=357,357-51=306,306-51=255,255-51=204,204-51=153,153-51=102,102-51=51.∴1 734与816的最大公约数是51×2=102.利用更相减损术可另解:1 734-816=918,918-816=102,816-102=714,714-102=612,612-102=510,510-102=408,408-102=306,306-102=204,204-102=102.∴1 734与816的最大公约数是102.知能训练求319,377,116的最大公约数.解:377=319×1+58,319=58×5+29,58=29×2.∴377与319的最大公约数为29,再求29与116的最大公约数.116=29×4.∴29与116的最大公约数为29.∴377,319,116的最大公约数为29.拓展提升试写出利用更相减损术求两个正整数的最大公约数的程序.解:更相减损术程序:INPUT “m,n=”;m,nWHILE m<>nIF m>n THENm=m-nELSEm=n-mEND IFWENDPRINT mEND课堂小结(1)用辗转相除法求最大公约数.(2)用更相减损术求最大公约数.思想方法:递归思想.作业分别用辗转相除法和更相减损术求261,319的最大公约数.分析:本题主要考查辗转相除法和更相减损术及其应用.使用辗转相除法可依据m=nq+r,反复执行,直到r=0为止;用更相减损术就是根据m-n=r,反复执行,直到n=r为止.解:辗转相除法:319=261×1+58,261=58×4+29,58=29×2.∴319与261的最大公约数是29.更相减损术:319-261=58,261-58=203,203-58=145,145-58=87,87-58=29,58-29=29,∴319与261的最大公约数是29.第2课时案例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 k n 这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.算法步骤如下:第一步,输入多项式次数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.第3课时案例3 进位制导入新课情境导入在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.今天我们来学习一下进位制.推进新课新知探究提出问题(1)你都了解哪些进位制?(2)举出常见的进位制.(3)思考非十进制数转换为十进制数的转化方法.(4)思考十进制数转换成非十进制数及非十进制之间的转换方法.活动:先让学生思考或讨论后再回答,经教师提示、点拨,对回答正确的学生及时表扬,对回答不准确的学生提示引导考虑问题的思路.讨论结果:(1)进位制是人们为了计数和运算方便而约定的计数系统,约定满二进一,就是二进制;满十进一,就是十进制;满十二进一,就是十二进制;满六十进一,就是六十进制等等.也就是说:“满几进一”就是几进制,几进制的基数(都是大于1的整数)就是几.(2)在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.(3)十进制使用0~9十个数字.计数时,几个数字排成一行,从右起,第一位是个位,个位上的数字是几,就表示几个一;第二位是十位,十位上的数字是几,就表示几个十;接着依次是百位、千位、万位……例如:十进制数3 721中的3表示3个千,7表示7个百,2表示2个十,1表示1个一.于是,我们得到下面的式子:3 721=3×103+7×102+2×101+1×100.与十进制类似,其他的进位制也可以按照位置原则计数.由于每一种进位制的基数不同,所用的数字个数也不同.如二进制用0和1两个数字,七进制用0~6七个数字.一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式a n a n-1…a1a0(k)(0<a n<k,0≤a n-1,…,a1,a0<k).其他进位制的数也可以表示成不同位上数字与基数的幂的乘积之和的形式,如110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20,7 342(8)=7×83+3×82+4×81+2×80.非十进制数转换为十进制数比较简单,只要计算下面的式子值即可:a n a n-1…a1a0(k)=a n×k n+a n-1×k n-1+…+a1×k+a0.第一步:从左到右依次取出k进制数a n a n-1…a1a0(k)各位上的数字,乘以相应的k的幂,k的幂从n开始取值,每次递减1,递减到0,即a n×k n,a n-1×k n-1,…,a1×k,a0×k0;第二步:把所得到的乘积加起来,所得的结果就是相应的十进制数.(4)关于进位制的转换,教科书上以十进制和二进制之间的转换为例讲解,并推广到十进制和其他进制之间的转换.这样做的原因是,计算机是以二进制的形式进行存储和计算数据的,而一般我们传输给计算机的数据是十进制数据,因此计算机必须先将十进制数转换为二进制数,再处理,显然运算后首次得到的结果为二进制数,同时计算机又把运算结果由二进制数转换成十进制数输出.1°十进制数转换成非十进制数把十进制数转换为二进制数,教科书上提供了“除2取余法”,我们可以类比得到十进制数转换成k进制数的算法“除k取余法”.2°非十进制之间的转换一个自然的想法是利用十进制作为桥梁.教科书上提供了一个二进制数据与16进制数据之间的互化的方法,也就是先由二进制数转化为十进制数,再由十进制数转化成为16进制数. 应用示例思路1例1 把二进制数110 011(2)化为十进制数.解:110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=1×32+1×16+1×2+1=51.点评:先把二进制数写成不同位上数字与2的幂的乘积之和的形式,再按照十进制的运算规则计算出结果.变式训练设计一个算法,把k进制数a(共有n位)化为十进制数b.算法分析:从例1的计算过程可以看出,计算k进制数a的右数第i位数字a i与k i-1的乘积a i·k i-1,再将其累加,这是一个重复操作的步骤.所以,可以用循环结构来构造算法.算法步骤如下:第一步,输入a,k和n的值.第二步,将b的值初始化为0,i的值初始化为1.第三步,b=b+a i·k i-1,i=i+1.第四步,判断i>n是否成立.若是,则执行第五步;否则,返回第三步.第五步,输出b的值.程序框图如下图:INPUT “a,k,n=”;a,k,nb=0i=1t=a MOD 10DOb=b+t*k^(i-1)a=a\\10t=a MOD 10i=i+1LOOP UNTIL i>nPRINT bEND例2 把89化为二进制数.解:根据二进制数“满二进一”的原则,可以用2连续去除89或所得商,然后取余数.具体计算方法如下:因为89=2×44+1,44=2×22+0,22=2×11+0,11=2×5+1,5=2×2+1,2=2×1+0,1=2×0+1,所以89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1=2×(2×(2×(2×(22+1)+1)+0)+0)+1=…=1×26+0×25+1×24+1×23+0×22+0×21+1×20=1 011 001(2).这种算法叫做除2取余法,还可以用下面的除法算式表示:把上式中各步所得的余数从下到上排列,得到89=1 011 001(2).上述方法也可以推广为把十进制数化为k进制数的算法,称为除k取余法.变式训练设计一个程序,实现“除k取余法”.算法分析:从例2的计算过程可以看出如下的规律:若十制数a除以k所得商是q0,余数是r0,即a=k·q0+r0,则r0是a的k进制数的右数第1位数.若q0除以k所得的商是q1,余数是r1,即q0=k·q1+r1,则r1是a的k进制数的左数第2……若q n-1除以k所得的商是0,余数是r n,即q n-1=r n,则r n是a的k进制数的左数第1位数.这样,我们可以得到算法步骤如下:第一步,给定十进制正整数a和转化后的数的基数k.第二步,求出a除以k所得的商q,余数r.第三步,把得到的余数依次从右到左排列.第四步,若q≠0,则a=q,返回第二步;否则,输出全部余数r排列得到的k进制数.程序框图如下图:程序:INPUT “a,k=”;a,kb=0i=0DOq=a\\kr=a MOD kb=b+r*10^ii=i+1a=qLOOP UNTIL q=0PRINT bEND思路2例1 将8进制数314 706(8)化为十进制数,并编写出一个实现算法的程序.解:314 706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104 902.所以,化为十进制数是104 902.点评:利用把k进制数转化为十进制数的一般方法就可以把8进制数314 706(8)化为十进制数.例2 把十进制数89化为三进制数,并写出程序语句.解:具体的计算方法如下:89=3×29+2,29=3×9+2,9=3×3+0,3=3×1+0,1=3×0+1,所以:89(10)=10 022(3).点评:根据三进制数满三进一的原则,可以用3连续去除89及其所得的商,然后按倒序的顺序取出余数组成数据即可.知能训练将十进制数34转化为二进制数.分析:把一个十进制数转换成二进制数,用2反复去除这个十进制数,直到商为0,所得余数(从下往上读)就是所求.解:即34(10)=100 010(2)拓展提升把1 234(5)分别转化为十进制数和八进制数.解:1 234(5)=1×53+2×52+3×5+4=194.则1 234(5)=302(8)所以,1 234(5)=194=302(8)点评:本题主要考查进位制以及不同进位制数的互化.五进制数直接利用公式就可以转化为十进制数;五进制数和八进制数之间需要借助于十进制数来转化.课堂小结(1)理解算法与进位制的关系.(2)熟练掌握各种进位制之间转化.作业习题1.3A组3、4.。
高中数学 1.3算法案例---秦九韶算法课件 新人教A版必修3

第二课时
复习引入:
1、求两个数的最大公约数的两种方法分别是 ( )和( )。
2、两个数21672,8127的最大公约数是 ( ) A、2709 B、2606 C、2703 D、2706
新课讲解:
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?
计算多项式f(x) =x5+x4+x3+x2+x+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×(5 ×(5 +1) +1 )+1)+1) +1
共做了4次乘法运算,5次加法运算。
《数书九章》——秦九韶算法
设f (x) 是一个n 次的多项式
用秦九韶算法求这个多项式当x = 5的值。 解:将多项式变形:
f (x) ((((5x 2)x 3.5)x 2.6)x 1.7)x 0.8
按由里到外的顺序,依此计算一次多项式当x = 5时的值:
v0 5 v1 55 2 27 v2 275 3.5 138.5 v3 138.55 2.6 689.9 v4 689.95 1.7 3451.2 v5 3451.25 0.8 17255.2
最后的一 项是什么?
vn vn1x a0
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法。
秦九韶算法的特点:
通过一次式的反复计算,逐步得出高次多 项式的值,对于一个n次多项式,只需做n次乘 法和n次加法即可。
程序框图:
算法初步课件PPT

C. 答案: C
数学 必修3
第一章 算法初步
学案·新知自解 教案·课堂探究 练案·学业达标
秦九韶算法及其应用 多维探究型
用秦九韶算法求多项式 f(x)=1+x+0.5x2+0.166 67x3+0.041 67x4+
0.008 33x5 在 x=-0.2 时的值. 解析: f(x)=1+x+0.5x2+0.166 67x3+0.041 67x4+0.008 33x5 =((((0.008 33x+0.041 67)x+0.166 67)x+0.5)x+1)x+1, 而 x=-0.2,所以有 υ0=a5=0.008 33,υ1=υ0x+a4=0.04, υ2=υ1x+a3=0.158 67,υ3=υ2x+a2=0.468 27, υ4=υ3x+a1=0.906 35,υ5=υ4x+a0=0.818 73, 即 f(-0.2)=0.818 73.
数学 必修3
第一章 算法初步
学案·新知自解 教案·课堂探究 练案·学业达标
1.1 443 与 999 的最大公约数是( )
A.99
B.11
C.111
D.999
解析: 用更相减损术,1 443-999=444,999-444=555,555-444=111,
444-111=333,333-111=222,222-111=111,所以 111 是最大公约数,故选
数学 必修3
第一章 算法初步
学案·新知自解 教案·课堂探究 练案·学业达标
进位制之间的转化 多维探究型
(1)把十进制数 89 化为三进制数. (2)把五进制数 3241(5)转化为八进制数. 解析: (1)具体的计算方法如下: 89=3×29+2;29=3×9+2;9=3×3+0;3=3×1+0;1=3×0+1. 所以 89=10 022(3). 或用下面的除法算法表示. 把上式中各步所得余数从下向上排列,得 89=10 022(3).
2014-2015学年高中数学(人教版必修三)课时训练第一章 1.3.3 算法综合问题(习题课)

上图是统计该6名队员在最近三场比赛中投进的三 分球总数的程序框图,则图中判断框应填________,输 出的s=________(注:框图中的赋值等号“=”也可以
写成“←”或“:=”).
解析:由题意该程序框图是求该 6 名队员在最 近三场比赛中投进三分球的总数.故判断框应填: i≤6?或 i<7?,输出 s 为 a1+a2+a3+a4+a5+a6. 答案:i<7?(或 i≤6?)
栏 目 链 接
正解:把条件“i>=100”修改为“i>100”.
点评:避免以上错误的关键是对循环控制条件进行检 验.对一个循环语句的检验,不可能像执行循环体那样一 次一次地去检验.如例4,循环次数达100次,若检验循环
栏 目 链 接
100次是不可取的.对循环的检验可分为两步进行:首先,
(
1.在赋值语句中,“N=N+1”的说法正确的是 C )
A.没有意义的
B.N与N+1相等
C.将N的原值加1再赋给N,N的值增加1 D.无法运行
2.在算法当中,有时需要进行判断,判断的结果决 B 定后面的步骤,像这样的结构称为( )
栏 ห้องสมุดไป่ตู้ 链 接
A.顺序结构
B.条件结构
3.已知一个三角形的三边长分别是 a,b,c,利用公 a+b+c 其中p= 计 式 S= - - - 2 算面积,设计一个算法,其框图只需( B ) A.条件结构 B.顺序结构
跟 踪 训 练
1.求正数 a 平方根近似值的一种算法思路是这样的: 第一步,确定平方根的首次近似值:a1 (a1 可以任取一个正数). a 第二步,由代数式 b1= 求出 b1. a1 a1+b1 第三步,取二者的算术平均值 a2= 为第二次近似值. 2 a 第四步,由方程 b2= 求出 b2 . a2 a2+b2 第五步,取算术平均值 a3= 作为第三次近似值. 2 „„ 反复进行上述步骤,直到获得满足误差在 0.1 以内的数为止. 请依照上述思路,画出相应的算法流程图.
算法案例第1课时辗转相除法与更相减损术学案课件 新人教A版必修3
1.辗转相除法 (1)辗转相除的原理: 设m, n是两个整数 (不妨设m>n),用m除以n,若商为 q1 ,余数为 r1(0≤r1<n) ,则 m = n· q1 + r1 ,显然若 x 是 m 和 n 的 公约数,即x能整除m和n,则x也必然能整除r1,这样x也是 n 和 r1 的公约数,故求 m 和 n 的公约数就是求 n 和 r1 的公约数; 同理,用n除以r1,得n=r1· q2+r2(0≤r2<r1),故求m和n的公 约 数 就 是 求 r2 和 r1 的 公 约 数 , … , 依 次 下 去 , 由 于 m>n>r1>r2>… ,所以到某一步必然有 ri = ri + 1· qi + 2 ,即 ri 恰 能被ri+1整除,这时ri+1是ri和ri+1的最大公约数,它也必然 是ri-1和ri、ri-2和ri-1、…、r1与r2、n和r2、m和n的最大公 约数.
此编写的算法,也称作“欧几里得算法”.
3.对于正整数m与n(m>n),总能找到整数q和r(0≤r<n)
使得m=nq+r成立,这个除法称为带余除法.通常记r= mMODn.
重点:算法案例的原理、算法设计及算法思想的体 会. 难点:理解算法案例的内容及具体算法设计的关键步
骤.
一、弄清算法原理,掌握算法程序,经历算法设计过 程,体会算法设计的关键环节,领悟算法思想.
(1)更相减损术求两数最大公约数的过程与算法设计. 对于给定的两个数,用较大的数减去较小的数,接着 把得到的差与较小的数比较,用这时两个数中较大的数减 去较小的数,继续这样的操作 ( 大数减小数 ) ,直到所得的
数相等为止,那么这个数 ( 相等数 ) 就是所求的最大公约
数.
显然,上述过程中大数减去小数是一个重复执行的过
【创新设计】2014-2015学年高中数学 1.3 算法案例课件 新人教A版必修3
4.进位制 运算方便 而约定的记数系统, 进位制是人们为了_____ 计数 和_________ “满k进一”就是k进制,k进制的基数是k.把十进制转化为 k进制数时,通常用除k取余法.
要点一 求两个正整数的最大公约数
例1 分别用辗转相除法和更相减损术求261和319的最大公 约数. 解 法一 (辗转相除法) 319÷261=1(余58),
故加法次数要减少一次,为5-1=4.故选D.
要点三 进位制
例3 (1)把二进制数1110011(2)化为十进制数.
(2)将8进制数314706(8)化为十进制数.
解 (1)1110011(2)=1×26+1×25+1×24+0×23+0×22+ 1×21+1=115. (2)314706(8)=3×85+1×84+4×83+7×82+0×81+6×80 =104902.所以,化为十进制数是104902.
所以80与36的最大公约数为4.
要点二
例2 解
秦九韶算法
已知一个5次多项式为f(x)=4x5+2x4+3.5x3-2.6x2+ 将f(x)改写为f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-
1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.
0.8, 由内向外依次计算一次多项式当x=5时的值: v0=4;
注意体会递推的实现过程,实施运算时要由内向外,一步
一步执行.
3.把一个非十进制数转化为另一种非十进制数,通常是把这 个数先转化为十进制数,然后再利用除k取余法,把十进 制数转化为k进制数.而在使用除k取余法时要注意以下几
点:
(1)必须除到所得的商是0为止; (2)各步所得的余数必须从下到上排列; (3)切记在所求数的右下角标明基数.
高中数学 第一章 算法初步 1.3.1 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修3
v1=anx+an-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+an2,v3=v2x+an-3,…,vn=vn-1x+a0,这样,求n次多项式f(x)的值就转化为求 n个一次多项式的值.
所以342与589的最大公约数为19.
答案:19
三、秦九韶算法 【问题思考】
1.已知多项式函数f(x)=x5+x4+x3+x2+x+1,当x=5时 f(5)=55+54+53+52+5+1=3 906.这种计算求值的过程中乘法运算和 加法运算的次数分别是多少?
提示乘法运算10次,加法运算5次. 2.如果我们把上述多项式函数的解析式变形为 f(x)=((((x+1)x+1)x+1)x+1)x+1,计算当x=5时f(5)的值,再统计一下这 种计算求值的过程中乘法运算和加法运算的次数分别是多少. 提示乘法运算4次,加法运算5次.
3.填空:问题2中的算法比问题1中的算法少了6次乘法运算,大大
简化了运算过程.问题2中的算法就叫秦九韶算法.
一般地,
f(x)=anxn+an-1xn-1+an-2xn-2+…+a1x+a0 =(anxn-1+an-1xn-2+an-2xn-3+…+a1)x+a0 =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…
最新人教版普通高中课程标准实验教科书必修3《算法案例——辗转相除法和更相减损术》说课稿
课题:算法案例——辗转相除法和更相减损术教材:人教版普通高中课程标准实验教科书必修3第一章第1.3节1、教材分析与传统教学内容相比,《算法初步》为新增内容,算法是计算机科学的重要基础,算法思想已经渗透到社会的方方面面,算法思想也逐渐成为每个现代人应具有的数学素养。
算法思想即体现了时代的特点,也是中国古代数学灿烂的历史和巨大的贡献在新层次上的复兴。
本节内容是探究古代算法案例――辗转相除法和更相减损术,经历设计算法解决问题的全过程,体会算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理的思考和数学表达能力,巩固算法三种描述性语言(自然语言、图形语言和程序语言),提高学生分析和解决问题的能力。
2、教学目标分析:(1)知识目标:①理解辗转相除法和更相减损术求两个正数的最大公约数的原理;②能用写算法步骤、画流程图和编程序表达辗转相除法;说明:在这里,理解案例中的新的知识是理解算法的必要的前提,但重要的是理解案例中的算法核心思想,而不是强调对案例中新知识的记忆和灵活运用。
(2)能力目标:①培养学生把具体问题抽象转化为算法语言的能力;②培养学生自主探索和合作学习的能力。
(3)情感目标:①使学生进一步了解从具体到一般思想方法。
②体会中国古代数学对世界数学的巨大贡献,培养爱国思想和学习数学的积极性。
3、教学重点与难点分析:(1)教学重点:能用写算法步骤、画流程图和编程序表达辗转相除法及更相减损术。
(体会算法解决问题的全过程)(2)教学难点:用不同逻辑结构的程序框图表达算法;4、教学方法与手段(1)、教法:阅读指导,以问题为载体,有引导的对话,让学生经历知识的形成过程和发展过程,有利于学生活动的充分展开。
(2)、学法:以观察、讨论、思考、分析、动手操作、自主探索、合作学习多种形式相结合,引导学生多角度、多层面认识事物,突破教学难点。
5、教学过程设计分析:辅助工具:ppt课件知识准备:带余除法6、评价分析:(1)、指导思想:①新知识与旧知识相结合的原则;②掌握知识与发展智力、能力相统一的原则;③教师的主导作用与学生的主体作用相结合的原则。