人教版数学高一A版必修3学案 1.3.算法案例2
2020年最新人教A版高中数学必修3第一章算法初步1.3算法案例教案(1)
《算法案例》教案——辗转相除法与更相减损术教材:课标版高中《数学》必修第章第节设计思路与指导思想:与传统教学内容相比,《算法初步》为新增内容。
算法是数学及其应用的重要组成部分,是计算科学的重要基础。
现代社会,信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,算法思想成为现代人应具备的一种基本数学素养。
本节课是使学生在已经学习算法的初步知识基础上,探究典型的算法案例,理解其中所包含的算法思想,巩固算法三种表示方法。
通过让学生经历分析算法步骤、画出程序框图、编制程序的基本过程,给学生提供探索与交流的活动时间和思维空间,真正使学生经历问题的提出过程、感受知识的形成与发展过程、暴露问题解决的思维过程、体验成功的喜悦过程,培养学生发现问题、解决问题的能力、养成良好的学习习惯、掌握必备的数学知识,从而达到知识与技能、过程与方法、情感与态度三位一体的统一。
教学方法:通过典型实例,使学生经历算法设计的全过程,在解决具体问题的过程中学习一些基本逻辑结构,学会有条理地思考问题、表达算法,并能将解决问题的过程整理成程序框图。
学法指导:在理解最大公约数的基础上去发现辗转相除法与更相减损术中的数学规律,并能模仿已经学过的程序框图与算法语句设计出辗转相除法与更相减损术的程序框图与算法程序。
教学目标()知识与技能.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析。
.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。
()过程与方法.由具体到抽象、观察探究,理解辗转相除法,体会使用算法解决问题的基本过程,体会算法思想,发展有条理思考和表达的能力,培养逻辑思维能力。
.在辗转相除法与更相减损术求最大公约数的学习过程中对比我们常见的约分求公因式的方法,比较它们在算法上的区别,并从程序的学习中体会数学的严谨,领会数学算法计算机处理的结合方式,初步掌握把数学算法转化成计算机语言的一般步骤。
新课标人教A版数学必修3算法案例 二进制
算法案例三二进制复习回顾上节课我们讲解了算法的应用:求最大公约数的两种方法,下面我们再来看看:新课导入: 一、进位制1、什么是进位制?2、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明.进位制是人们为了计数和运算方便而约定的记数系统。
问题1、我们了解十进制吗?所谓的十进制,它是如何构成的?解答:十进制由两个部分构成。
第一、它有0、1、2、3、4、5、6、7、8、9十个数字;(用10个数字来记数,称基数为10);第二、它有“权位〞,即从右往左为个位、十位、百位、千位等等。
例如:3721表示有:1个1,2个十,7个百即7个10的平方,3个千即3个10的立方, 其它进位制的数又是如何的呢?问题二、二进制〔1〕二进制的表示方法二进制是用0、1两个数字来描述的。
如11001等 区分的写法:11001(2)或者(11001)28进制呢?如7342(8)k 进制呢?a n a n-1a n-2…a 2a 1(k)?二、二进制与十进制的转换1、二进制数转化为十进制数 01231011021071037213⨯+⨯+⨯+⨯=01234(2)212020212111001⨯+⨯+⨯+⨯+⨯=例1 将二进制数110011(2)化成十进制数 解:根据进位制的定义可知所以,110011(2)=51。
练习将下面的二进制数化为十进制数?2、十进制转换为二进制(除2取余法:用2连续去除89或所得的商,然后取余数) 例2 把89化为二进制数解:根据“逢二进一〞的原那么,有 89=2×44+1 = 2× (2×22+0)+1 = 2×( 2×( 2×11+0)+0)+1= 2× (2× (2× (2× 5+1)+0)+0)+1 = 2× (2× (2× (2× (2× 2+1)+1)+0)+0)+1=2×〔2×〔2×〔2×〔22+1〕+1〕+0〕+0〕+189=1×26+0×25+1×24+1×23+0×22+0×21+1×20所以:89=1011001〔2〕=2×〔2×〔2×〔23+2+1〕+0〕+0〕+1 =2×〔2×〔24+22+2+0〕+0〕+1 =2×〔25+23+22+0+0〕+1 =26+24+23+0+0+21所以89=2×〔2×〔2×〔2×〔2 × 2 +1〕+1〕+0〕+0〕+1012345)2(212120202121110011⨯+⨯+⨯+⨯+⨯+⨯=121161321+⨯+⨯+⨯=51=〔1〕11 〔2〕111 〔3〕1111 〔4〕1111189=2×44+144=2×22+0 22=2×11+011=2× 5+1 5=2× 2+1方法二:略练习将下面的十进制数化为二进制数?〔1〕10 〔2〕20 〔3〕128 〔4〕256 3、十进制转换为其它进制例3:把89化为五进制数解:根据除k取余法,以5作为除数,相应的除法算式所以,89=324(5)例题4:将k进制数a转换为十进制数(共有n位)的程序解:a=a n a n-1…a3a2a1(k) Array =a n k(n-1)+a n-1k(n-2)+ …+ a3k2 +a2k1+a1k0b=a1k0b=a2k1 +bb=a3k2 + b……b=a n k n-1 +bi=1i=i+1b=a i k i-1+ba i=GET a[i]GET函数用于取出a的右数第i位数小结与作业1、进位制的概念2、掌握二进制与十进制之间的转换。
【数学】1.3《算法案例》教案(新人教A版必修3)
1.3算法案例(1)教学目标(a)知识与技能1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析。
2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。
(b)过程与方法在辗转相除法与更相减损术求最大公约数的学习过程中对比我们常见的约分求公因式的方法,比较它们在算法上的区别,并从程序的学习中体会数学的严谨,领会数学算法计算机处理的结合方式,初步掌握把数学算法转化成计算机语言的一般步骤。
(c)情态与价值1.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。
2.在学习古代数学家解决数学问题的方法的过程中培养严谨的逻辑思维能力,在利用算法解决数学问题的过程中培养理性的精神和动手实践的能力。
(2)教学重难点重点:理解辗转相除法与更相减损术求最大公约数的方法。
难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。
(3)学法与教学用具学法:在理解最大公约数的基础上去发现辗转相除法与更相减损术中的数学规律,并能模仿已经学过的程序框图与算法语句设计出辗转相除法与更相减损术的程序框图与算法程序。
教学用具:电脑,计算器,图形计算器(4)教学设想(一)创设情景,揭示课题1.教师首先提出问题:在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗?2.接着教师进一步提出问题,我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容。
(二)研探新知1.辗转相除法例1 求两个正数8251和6105的最大公约数。
(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)解:8251=6105×1+2146显然8251的最大公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数,所以8251与6105的最大公约数也是6105与2146的最大公约数。
(人教a版)必修三同步课件:1.3算法案例
故加法次数要减少一次,为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+1.7x-0.8,用秦九韶算法求这个
多项式当x=5时的值.
解
将f(x)改写为f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-
0.8, 由内向外依次计算一次多项式当x=5时的值: v0=4;
2.注意:当多项ห้องสมุดไป่ตู้中n次项不存在时,可将第n次项看作0· xn.
跟踪演练2
用秦九韶算法计算f(x)=6x5-4x4+x3-2x2-9x,需要加法(或减法)与乘法运算 ( )
的次数分别为
A.5,4 B.5,5 C.4,4 D.4,5 答案 D
解析
n次多项式需进行n次乘法;若各项均不为零,则需进
行n次加法,缺一项就减少一次加法运算.f(x)中无常数项,
v2x+an-3
vn-1x+a0 n个一次多项式
4.进位制
运算方便 进位制是人们为了_____和_________ k进一”就是k进制,k进 计数 而约定的记数系统,“满
制的基数是k.把十进制转化为k进制数时,通常用除k取余法.
高中数学第一章算法初步1.3.2进位制课件3新人教A版必修3
解:(1)算法步骤:
第一步,输入a,k和n的值. 第二步,令b=0,i=1. 第三步,b=b+ai·ki-1,i=i+1. 第四步,判断i>n 是否成立.若是,则执行第五步;否
则,返回第三步.
第五步,输出b的值.
开始
(2)程序框图
输入a,k,n b=0 i=1 把a的右数第i位数字赋给t b=b+t· ki- 1 i=i+1 i>n? 是 输出b 结束 否
具体计算方法如下: 因为 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 =1011001(2)
1.通过阅读进位制的算法案例,体会进位制的算法思想. 2.学习各种进位制转换成十进制的计算方法, 研究十进制转换为各种进位制的除k去余法, 并理解其中的数学规律.(重点) 3.能运用几种进位制之间的转换,解决一些有关的问题. (难点)
【课堂探究1】进位制的概念 思考1:什么是进位制? 进位制是为了计数和运算方便而约定的记数系统, 如逢十进一,就是十进制;每七天为一周,就是七 进制;每十二个月为一年,就是十二进制;每六十 秒为一分钟,每六十分钟为一个小时,就是六十进 制等等.也就是说,“满几进一”就是几进制,几进 制的基数就是几.
山东省高中数学(新课标人教A版)必修三《1.3算法案例》导学案2
布置
学习小结/教学
反思
A 3214 B 3210 C 2214 D 90
3.多项式f(x)=10x +21x +5x +4x +3x +2x +3x +x+1,则f(5)等于()
A 28079706 B 28089706 C 28179706 D 28189706
4.多项式f(x)=4x +7x +64x +8x +6x+1,则f(3)=___。
一个自然的做法:把5代入多项式f(x),计算各项的值,然后把它们加起来,这时你一共做了__次乘法运算,__次加法运算。
另一种做法:先计算x 的值,然后一次计算x ﹒x,( x ﹒x)﹒x,((x ﹒x)﹒x)﹒x的值,这样每次都可以用上一次的结果,这时你用了__次乘法运算,__次加法运算。
计算机适合乘法运算少的。
合作探究:
1.根据秦九韶算法能把多项式f(x)=3x +4x +5x +6x +7x+1改写成________________的形式。当x=5时求f(x)的值_____。
2.上题中需要__次乘法运算,__次加法运算。
自我检测:
1.用秦九韶算法求多项式f(x)=5x +7x +6x +3x +x+1,当x=3的值。
5.用秦九韶算法计算多项式f(x)= x +4x +3x +1,当x=1.3时的值需要将多项式改写为_______________。
6.用秦九韶算法求多项式f(x)=9x +21x +7x +64x +8x +6x+1,当x=2的值。
高一数学(新人教A版必修3)《算法》知识点总结《1.3.2 进位制》(教材P40-45)
进位制
新课引入
有一俗语“半斤八两”不相上下,到底为什么?带上这个问题进入本节的学习.
自主预习
阅读教材-,回答下列问题:
进位制
()概念:人们为了计数和运算方便而约定的计数系统,“满进一”就是进制,是基数(其中是大于的整数).进制的数可以表示为一串数字连写在一起的形式为
…()(,-,…,,∈<<≤-,…,,<).
-
()非十进制的进制数(共有位)化为十进制数的算法步骤:
第一步,输入,,的值.
第二步,将的值初始化为,的值初始化为.
第三步,=+-,=+.
第四步,判断>是否成立,若是,则执行第五步;否则,返回第三步.第五步,输出的值.
程序框图如图所示.
程序:
“,,=”;,,
=
=
=
=+*^(-)
=\
=
=+
>
()十进制数化为非十进制的进制数的算法是除取余法.
算法步骤:
第一步,给定十进制正整数和转化后的数的基数.
第二步,求出除以所得的商,余数.
第三步,将得到的余数依次从右到左排列.
第四步,若≠,则=,返回第二步;否则,输出全部余数排列得到的进制数.
程序框图如图所示.。
新课标人教A版高中数学必修3教案完整版
第一章算法初步一、课标要求:1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读中国古代教学中的算法案例,体会中国古代数学世界数学发展的贡献。
2、算法就是解决问题的步骤,算法也是数学及其应用的重要组成部分,是计算机科学的基础,利用计算机解决问需要算法,在日常生活中做任何事情也都有算法,当然我们更关心的是计算机的算法,计算机可以解决多类信息处理问题,但人们必须事先用计算机熟悉的语言,也就是计算能够理解的语言(即程序设计语言)来详细描述解决问题的步骤,即首先设计程序,对稍复杂一些的问题,直接写出解决该问题的程序是困难的,因此,我们要首先研究解决问题的算法,再把算法转化为程序,所以算法设计是使用计算机解决具体问题的一个极为重要的环节。
3、通过对解决具体问题的过程与步骤的分析(如二元一次方程组的求解等问题),体会算法的思想,了解算法的含义。
理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构。
理解并掌握几种基本的算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句。
进一步体会算法的基本思想。
4、本章的重点是体会算法的思想,了解算法的含义,通过模仿、操作、探索,经过通过设计程序框图解决问题的过程。
点是在具体问题的解决过程中,理解三种基本逻辑结构,经历将具体问题的程序框图转化为程序语句的过程,理解几种基本的算法语句。
二、编写意图与特色:算法是数学及其应用的重要组成部分,是计算科学的重要基础。
随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。
在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
人教新课标版数学高一人教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;否则,返回第二步.程序框图如下图:程序:INPUTm,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的公约数.变式训练你能用当型循环结构构造算法,求两个正整数的最大公约数吗?试画出程序框图和程序.解:当型循环结构的程序框图如下图:程序:INPUTm,nr=1WHILEr>0r=m MOD nm=nn=rWENDPRINT mEND例2 用更相减损术求98与63的最大公约数.解:由于63不是偶数,把98和63以大数减小数,并辗转相减,如下图所示.98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以,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.求多项式的值时,首先计算最内层括号内一次多项式的值,即v 1=a n x+a n-1,然后由内向外逐层计算一次多项式的值,即v 2=v 1x+a n-2,v 3=v 2x+a n-3,…v n =v n-1x+a 0,这样,求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)的值共需要___________次运算.答案:6520点评:秦九韶算法适用一般的多项式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.设计感想古老的算法散发浓郁的现代气息,这是一节充满智慧的课.本节主要介绍了秦九韶算法.通过对秦九韶算法的学习,对算法本身有哪些进一步的认识?教师引导学生思考、讨论、概括,小结时要关注如下几点:(1)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应该选择高效的算法;(3)算法的种类虽多,但三种逻辑结构可以有效地表达各种算法等等.第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.设计感想计算机是以二进制的形式进行存储和计算数据的,而一般我们传输给计算机的数据是十进制数据,因此计算机必须先将十进制数转换为二进制数,再处理,显然运算后首次得到的结果为二进制数,同时,计算机又把运算结果由二进制数转换成十进制数输出.因此学好进位制是非常必要的,另外,进位制也是高考的重点,本节设置了多种题型供学生训练,所以这节课非常实用.。
131算法案例辗转相除法与更相减损术新人教A版必修3
r=m MOD n
m=n n=r r=0? 否
是
思考:求两个正整数m,n的最大公约数,可以用循环 结构来构造算法?其算法步骤如何设计?
算法设计: 第一步,给定两个正整数m,n(m>n).
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m; 否则,返回第二步.
相等.
思考:又6105=2146×2+1813,同理,6105与2146 的最大公约数和2146与1813的最大公约数相等。重 复上述操作,你能得到8251与6105这两个数的最大 公约数吗?
8251=6105×1+2146,
6105=2146×2+1813,
2146=1813×1+333,
1813=333×5+148, 333=148×2+37, 148=37×4+0.
思考:上述算法的程序 框图如何表示?
开始 输入m,n
求m除以n的余数r
m=n n=r r=0? 否
是 输出m
结束
开始
输入m,n
求m除以n的余数r
m=n n=r r=0? 否
是 输出m
结束
思考:该程序框图对应的程序如 何表述?
INPUT m,n DO
r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m
4081和2072Байду номын сангаас的最大公约数是53.
观察:辗转相除法中的关键步骤是那种逻辑结构?
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333
新人教A版必修三1.3《算法案例》word教案
基础教育课程改革实验学科教案一、新课引入从我们出生后初步接触数到现在,我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的•比如时间和角度的单位用六十进位制,电子计算机用的是二进制等等•那么不同的进位制之间又有什么联系呢?二、新课讲解(一)进位制与基数进位制是人们为了计数和运算方便而约定的记数方式,用有限的数字在不同的位置表示不同的数值。
处理:直接给出进位制的概念和意义。
(1)利用二进制,十进制,十二进制,引导学生理解进位制。
(二进制就是满二进一,它只用两个数字0和1,如3在二进制中要表示为11 ; 4在二进制中要表示为 100;同理,十进制就是满十进一,它只用 10个数字0和9;十进制就是满十进一,它只用10个数字0和9;十二进制就是满十二进一,它只用 12个符号0和9及A,B,如18在十二进制中要表示为A6)(2)可使用数字符号的个数称为基数,基数为 n,则称n进位制(n进制)(对于任何一个数,我们可以用不同的进位制来表示。
比如:十进数57,可以用八进制表示为 71、用十六进制表示为 39,它们所代表的数值都是一样的。
表示各种进位制数一般在数字右下脚加注来表示,如111001⑵表示二进制数,34(5)表示5进制数)(二)以k为基数的k进制数的表示:a n a nJ a n^ ■■■a1a0(k)说明:(1)利用与十进制类比的方法说明:0 a n < k,0 Ea n」,a n?•…,a1,a° :: k(2)利用与十进制类比的方法说明:时间教学过程设计意图n n」虫门_2……aa ow二a n k ■k ■.・・■ a i k a o尝试练习:(1 )把二进制数110011 (2)化为十进制数;(2)把三进制数10212(3)化为十进制数;(三)设计一个算法,将k进制数a(共有n位)化为十进制数b算法步骤、程序框图、程序见教材P41— P42.(四)如何将十进制数转化为k进制数;1、把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=1*2 6+0*2 5+1*24+1*23+0*22+0*21+1*2 0=1011001 ⑵这种算法叫做除2取余法.此外,还可以用右边的除法算式表示尝试练习:将十进制数2008转化为二进制数变式:上述方法也可以推广为把十进制化为k进制数的算法,这种算法称为除k取余法.变式练习:将十进制数2008转化为八进制数(五)设计一个程序,实现“除k取余法” (k・N,2乞k乞9)算法步骤、程序框图、程序见教材P43— P45.三、课堂小结:(1)进位制的概念及表示方法(2)十进制与二进制之间转换的方法及计算机程序四、作业布置:补充:设计程序框图把一个八进制数23456( 8)转换成十进制数2 89余数44 12 22 02 11 02 5 12 2 12 11时间教学过程设计意图。
高中数学人教A版必修3第一章1.3算法案例课件
去
9- 3= 6
6 - 3 = 3 减数与差相等
3×2=6
78与36的最大公约数为6.
更相减损术
问题6.根据更相减损术的过程,设计求两个正整数m,n最 大公约数的算法,需要用到什么逻辑结构?为什么?
第一步:任意给定两个正整 算法分析:
数,判断它们是否都是偶数。第一步,给定两个正整数m,n(m>n).
更相减损术
例2. 用更相减损术求78与36的最大公约数.
解: 78与36都是偶数
“可半”
78 ÷ 2 = 39 36 ÷ 2 = 18
“可半者半之”
除 完
39 - 18 = 21 大减小 21 - 18 = 3
再
18 - 3 = 15
乘
15 - 3 = 12
“更相减损”(辗转相减)
回
12 - 3 = 9
2 18 30 3 9 15 35
18与30的最大公约数为2 3 6 .
问题1. 求8251与6105的最大公约数. 可以使用短除法吗?
困难:两数比较大、公约数不易视察。 (辗转相除法、更相减损术)
知问
思考1:辗转相除法与更相减损术可以用来解 决什么问题? 可以解决求两个正整数最大公约数的任何问题。
《九章算术》——更相减损术
“可半者半之,不可半者,副置分母、子之数,以少 减多,更相减损,求其等也,以等数约之。”
《九章算术》
刘徽
《九章算术》其作者已不可 考,现今流传的大多是在三 国时期刘徽为《九章》所作 的注本。它是中国古代第一 部数学专著,系统总结了战 国、秦、汉时期的数学成绩, 收录了246个数学问题及其 解法,是当时世界上最简练 有效的应用数学,它的出现 标志中国古代数学形成了完 整的体系。
2020版数学人教A版必修3学案:第一章 1.3 第2课时 秦九韶算法与进位制 Word版含解析
第2课时 秦九韶算法与进位制学习目标 1.了解秦九韶算法.2.了解生活中的各种进位制,了解计算机内部运算为什么选择二进制.3.会用除k取余法把十进制转换为各种进位制,并理解其中的数学规律.知识点一 秦九韶算法1.求n次多项式的值的算法,有一种比较好的算法叫秦九韶算法.2.秦九韶算法的一般步骤:把一个n次多项式f(x)=a n x n+a n-1x n-1+…+a1x+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个一次多项式的值.知识点二 进位制若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式a n a n-1…a1a0(k)(a n,a n-1,…,a1,a0∈N,0<a n<k,0≤a n-1,…,a1,a0<k).为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),六进制数341(6),十进制数一般不标注基数.思考 59分59秒再过1秒是多少时间?答案 1小时.上述计时法遵循的是满60进一,称为六十进制.类比给出k进制的概念.“满k进一”就是k 进制,k进制的基数是k.知识点三 进制间的转化1.一般地,将k进制数a n a n-1…a1a0(k)转化为十进制:a n a n-1…a1a0(k)=a n×k n+a n-1×k n-1+…+a1×k1+a0×k0.2.把十进制的数化为k进制的数的方法是:把十进制数除以k,余数为k进制的右数第一位数.把商再除以k,余数为k进制右数第二位数;依次除以k,直至商为0.这个方法称为除k取余法.1.二进制数中可以出现数字3.( × )2.把十进制数转化成其它进制数的方法是除k取余法.( √ )3.不同进制数之间可以相互转化.( √ )题型一 秦九韶算法的应用例1 用秦九韶算法求多项式f(x)=x5+5x4+10x3+10x2+5x+1当x=-2时的值.解 f(x)=x5+5x4+10x3+10x2+5x+1=((((x+5)x+10)x+10)x+5)x+1.当x=-2时,有v0=1;v1=v0x+a4=1×(-2)+5=3;v2=v1x+a3=3×(-2)+10=4;v3=v2x+a2=4×(-2)+10=2;v4=v3x+a1=2×(-2)+5=1;v5=v4x+a0=1×(-2)+1=-1.故f(-2)=-1.反思感悟 (1)先将多项式写成一次多项式的形式,然后运算时从里到外,一步一步地做乘法和加法即可.这样比直接将x=-2代入原式大大减少了计算量.若用计算机计算,则可提高运算效率.(2)注意:当多项式中n次项不存在时,可将第n次项看作0·x n.跟踪训练1 用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64当x=2时的值.解 根据秦九韶算法,把多项式改写成如下形式:f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64.由内向外依次计算一次多项式当x=2时的值: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.所以当x=2时,多项式的值为0.题型二 k进制化为十进制例2 二进制数110 011(2)化为十进制数是什么数?解 110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=32+16+2+1=51.反思感悟 将k进制数a n a n-1…a1a0(k)化为十进制数的方法:把k进制数a n a n-1…a1a0(k)写成各数位上的数字与基数k的幂的乘积之和的形式,然后计算出结果即为对应的十进制数.跟踪训练2 (1)把二进制数1 110 011(2)化为十进制数.(2)将8进制数314 706(8)化为十进制数.解 (1)1 110 011(2)=1×26+1×25+1×24+0×23+0×22+1×21+1×20=115.(2)314 706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104 902.所以,化为十进制数是104 902.题型三 十进制化k进制例3 将十进制数458分别转化为四进制数和六进制数.解 算式如图,则458=13 022(4)=2 042(6).反思感悟 十进制数化为k进制数的思路为除k取余倒序写出标明基数→→.跟踪训练3 把89化为二进制数.解 算式如图,则89=1 011 001(2).秦九韶算法求多项式的值典例 用秦九韶算法求多项式f(x)=x5+0.11x3-0.15x-0.04当x=0.3时的值.解 将f(x)写为f(x)=((((x+0)·x+0.11)x+0)x-0.15)x-0.04.按从内到外的顺序,依次计算多项式的值:v0=1,v1=1×0.3+0=0.3,v2=0.3×0.3+0.11=0.2,v3=0.2×0.3+0=0.06,v4=0.06×0.3-0.15=-0.132,v5=-0.132×0.3-0.04=-0.079 6.∴当x=0.3时,f(x)的值为-0.079 6.[素养评析] (1)当多项式中出现空项时,利用秦九韶算法求多项式的值,必须补上系数为0的相应项.这是本题的易错点.(2)理解运算对象即求多项式的值,掌握运算法则即秦九韶算法,这些均是数学核心素养之数学运算的具体体现.1.已知175(r)=125(10),则r的值为( )A.1 B.5 C.3 D.8答案 D解析 ∵1×r2+7×r1+5×r0=125,∴r2+7r-120=0,∴r=8或r=-15(舍去),∴r=8,故选D.2.用秦九韶算法计算多项式f(x)=6x6+5x5+4x4+3x3+2x2+x+7在x=0.4时的值时,需做加法和乘法的次数的和为( )A.10 B.9 C.12 D.8答案 C解析 f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x+7,∴做加法6次,乘法6次,∴6+6=12(次),故选C.3.用秦九韶算法求多项式f(x)=x4+2x3+3x2+x+1当x=2时的值时,第一次运算的是( )A.1×2 B.24C .2+1D .1×2+2答案 D 解析 因为f (x )=(((x +2)x +3)x +1)x +1,据由内到外的运算规律可知先运算的是1×2+2.4.下列各数中,最小的数是( )A .85(9)B .210(6)C .1 000(4)D .111 111(2)答案 D解析 85(9)=8×9+5=77,210(6)=2×62+1×6+0=78,1 000(4)=1×43=64,111 111(2)=1×25+1×24+1×23+1×22+1×2+1=63.故最小的是63.5.(1)将二进制数转化成十进制数;1611111⋅⋅⋅ 个(2)将53(8)转化为二进制数.解 (1) (2)=1×215+1×214+…+1×21+1×20=216-1.1611111⋅⋅⋅ 个(2)先将八进制数53(8)转化为十进制数:53(8)=5×81+3×80=43;再将十进制数43转化为二进制数的算法如图. 所以53(8)=101 011(2).1.要把k进制数化为十进制数,首先把k进制数表示成不同位上数字与k的幂的乘积之和,其次按照十进制的运算规则计算和.2.十进制数化为k进制数(除k取余法)的步骤:3.用秦九韶算法求多项式f(x)当x=x0时的值的思路为(1)改写;(2)计算Error!(3)结论f(x0)=v n.一、选择题1.下列各数可能是五进制数的是( )A.55 B.106C.732 D.2 134答案 D解析 五进制数的基数是5,在所构成的数中,只可能用0,1,2,3,4这5个数字.2.把五进制数123(5)改写成十进制数为( )A.83 B.64 C.38 D.44答案 C解析 五进制数123(5)改写成十进制数应为1×52+2×51+3×50=38.3.用秦九韶算法计算多项式f(x)=2x6+5x5+6x4+23x3-8x2+10x-3当x=-4时的值时,v3的值为( )A.-742 B.-49C.18 D.188答案 B解析 f(x)=2x6+5x5+6x4+23x3-8x2+10x-3=(((((2x+5)x+6)x+23)x-8)x+10)x-3,v0=2,v1=v0x+5=2×(-4)+5=-3,v2=v1x+6=-3×(-4)+6=18,v3=v2x+23=18×(-4)+23=-49,故选B.4.两个二进制数101(2)与110(2)的和用十进制数表示为( )A.12 B.11 C.10 D.9答案 B解析 101(2)=1×22+0×21+1×20=5,110(2)=1×22+1×21+0×20=6.即和为5+6=11.5.四位二进制数能表示的最大十进制数是( )A.4 B.64 C.255 D.15答案 D解析 由二进制数化为十进制数的过程可知,当四位二进制数为1 111时表示的十进制数最大,此时,1 111(2)=15.6.已知44(k)=36,把67(k)转化为十进制数为( )A.8 B.55 C.56 D.62答案 B解析 由题意得,36=4×k1+4×k0,所以k=8.则67(k)=67(8)=6×81+7×80=55.7.用秦九韶算法求多项式f(x)=1+2x+x2-3x3+2x4当x=-1时的值时,v2的结果是( ) A.-4 B.-1C.5 D.6答案 D解析 此题的n=4,a4=2,a3=-3,a2=1,a1=2,a0=1,由秦九韶算法的递推关系式Error!得v1=v0x+a3=2×(-1)-3=-5,v2=v1x+a2=-5×(-1)+1=6,故选D.8.已知一个k进制的数132与十进制的数30相等,那么k等于( )A.7或4 B.-7C.4 D.-4答案 C解析 132(k)=1×k2+3×k+2=k2+3k+2,∴k2+3k+2=30,即k2+3k-28=0,解得k=4或k=-7(舍去).9.下列四个数最大的是( )A.322(7)B.402(6)C.342(7)D.355(6)答案 C解析 342(7)=3×72+4×7+2=177,402(6)=4×62+0×6+2=146.所以342(7)>402(6).而342(7)>322(7),402(6)>355(6),所以最大的数是342(7).二、填空题10.若146(x)=66,则x的值为________.答案 6解析 146(x)=1×x2+4×x+6×x0=66.可得x=6(负值舍去).11.用秦九韶算法求多项式f(x)=2+0.35x+1.8x2-3x3+6x4-5x5+x6当x=-1时的值时,令v0=a6,v1=v0x+a5,…,v6=v5x+a0,则v3的值是________.答案 -15解析 f(x)=x6-5x5+6x4-3x3+1.8x2+0.35x+2=(((((x-5)x+6)x-3)x+1.8)x+0.35)x+2,所以v0=1,v1=1×(-1)-5=-6,v2=(-6)×(-1)+6=12,v3=12×(-1)-3=-15.三、解答题12.利用秦九韶算法求多项式f(x)=3x6+12x5+8x4-3.5x3+7.2x2+5x-13当x=6时的值,写出详细步骤.解 ∵f(x)=(((((3x+12)x+8)x-3.5)x+7.2)x+5)x-13,v0=3,v1=v0×6+12=30,v2=v1×6+8=188,v3=v2×6-3.5=1 124.5,v4=v3×6+7.2=6 754.2,v5=v4×6+5=40 530.2,v6=v5×6-13=243 168.2,∴f(6)=243 168.2.13.十六进制数与十进制数的对应如表:十六进制012345678910A B C D E 数十进制数0123456789101112131415例如:A+B=11+12=16+7=1×16+7=17(16),所以A+B的值用十六进制表示就等于17(16).试计算:A×B+D=________.(用十六进制表示)答案 92(16)解析 ∵A×B+D=11×12+14=146,146=9×16+2,∴用十六进制表示146为92(16).14.秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )A.9 B.18C.20 D.35答案 B解析 初始值n=3,x=2,程序运行过程如下:v=1i=2 v=1×2+2=4i=1 v=4×2+1=9i=0 v=9×2+0=18i=-1 跳出循环,输出v=18,故选B.。
1.3.1辗转相除法与更相减损术 秦九韶算法同步学案 新人教a版必修3
(2)更相减损术求最大公约数的程序设计: INPUT “a,b”;a,b WHILE a<>b IF a>b THEN a=a-b ELSE b=b-a END IF WEND PRINT a END
3.秦九韶算法 (1)秦九韶算法过程分析: 设Pn(x)=anxn+an-1xn-1+„+a1x+a0,将其改写为 Pn(x) =(anxn-1+an-1xn-2+„+a1)x+a0 =((anxn-2+an-1xn-3+„+a2)x+a1)x+a0 =(„((anx+an-1)x+an-2)x+„+a1)x+a0
2.更相减损术 (1)更相减损术求两数最大公约数的过程与算法设计: 对于给定的两个数,用较大的数减去较小的数,接着把得到的 差与较小的数比较,用这时两个数中的较大的数减去较小
的数,继续这样的操作(大数减小数),直到所得的数相等为
止,那么这个数(等数)就是所求的最大公约数. 显然,上述过程中大数减去小数是一个重复执行的过程,因此 只需将大数赋给变量m,小数赋给变量n,那么m-n就可以通 过循环结构实现算法.
名师讲解 1.辗转相除法
2021高中数学 1.3 第2课时 进位制 教案(人教A版必修3)
1.3算法案例第2课时进位制●三维目标1.学问与技能了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换.2.过程与方法学习各种进位制转换成十进制的计算方法,争辩十进制转换为各种进位制的除k去余法,并理解其中的数学规律.3.情感、态度与价值观领悟十进制,二进制的特点,了解计算机的电路与二进制的联系,进一步生疏到计算机与数学的联系.●重点难点重点:各进位制表示数的方法及各进位制之间的转换.难点:除k去余法的理解以及各进位制之间转换的程序框图的设计.课标解读1.了解进位制的概念.(重点)2.把握不同进位制之间的相互转化.(难点)进位制的概念【问题导思】十进制使用0~9十个数字,那么二进制使用哪些数字?六进制呢?【提示】二进制使用0~1两个数字,六进制使用0~5六个数字.进位制是人们为了计数和运算便利而商定的记数系统,“满几进一”就是几进制,几进制的基数就是几.进位制之间的相互转化【问题导思】二进制数110 011(2)化为十进制数是多少?【提示】110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=51.k进制化为十进制的方法a n·a n-1·a n-2……a0(k)=a n×k n+a n-1×k n-1+…a1k+a0.k进制转化为十进制将二进制数101 101(2)化为十进制数.【思路探究】按二进制化十进制的方法,写成不同位上的数乘以基数的幂的形式,再相加求和.【自主解答】101 101(2)=1×25+0×24+1×23+1×22+0×21+1×20=32+8+4+1=45.一个k进制的正整数就是各位数码与k的方幂的乘积的和,其中幂指数等于相应数码所在位数(从右往左数)减1,再依据十进制数的运算法则计算出结果.例如:230 451(k)=2×k5+3×k4+0×k3+4×k2+5×k1+1×k0.将下列各数化成十进制数.(1)11 001 000(2);(2)310(8).【解】(1)11 001 000(2)=1×27+1×26+0×25+0×24+1×23+0×22+0×21+0×20=200;(2)310(8)=3×82+1×81+0×80=200.十进制转化为k进制(1)将194化成八进制数;(2)将48化成二进制数.【思路探究】除k取余→倒序写出→标明基数【自主解答】(1)∴194化为八进制数为302(8).(2)∴48化为二进制数为110 000(2).1.将十进制化成k进制的方法:用除k取余法,用k连续去除十进制数所得的商,直到商为零为止,然后将各步所得的余数倒序写出,即为相应的k进制数,切忌将余数挨次写反.2.为了区分不同的进位制,常在数的右下角标明基数.十进制数一般不标注基数.将十进制数30化为二进制数.【解】∴30(10)=11 110(2).不同进位制之间的转化将七进制数235(7)转化为八进制数.【思路探究】七进制→十进制→八进制【自主解答】235(7)=2×72+3×71+5×70=124,利用除8取余法(如图所示).∴124=174(8),∴235(7)转化为八进制为174(8).。
1.3算法案例 课件-高一数学人教A版必修3
用秦九韶算法求这个多项式当x=5时的值。
解:根据秦九韶算法,把多项式改写成如下 形式:
f (x) ((((4x 2)x 3.5)x 2.6)x 1.7)x 0.8
按照从内到外的顺序,依次计算一次多项式当 x=5时的值:
WHILE d<>n
IF d>n THEN m=d
ELSE m=n
n=d
END IF d=m-n WEND d=2^k*d
PRINT d
END
问题2:怎样求多项式 f (x) x5 x4 x3 x2 x 1当x=5 的值呢?
方法1:把5代入多项式,计算各项的值,然后把它们加 起来。这时共做了1+2+3+4=10次乘法运算,5 次加法运算。
例1:用更相减损术求98与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数, 并辗转相减得,如图所示:
98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7
所以,98和63的最大公约数等于7。
思考:把更相减损术与辗转相除法比较,你有什么
发现?你能根据更相减损术设计程序,求两个正数的 最大公约数吗?
v1 an x an1
然后由内向外逐层计算一次多项式的值,即
v2 v1 x an2 ,
v3 v2 x an3 ,
vn vn1 x a0 ,
这样,求n次多项式f(x)的值就转化为求n个一次多项 式的值。
上述方法称为秦九韶算法。直到今天, 这种算法仍是 多项式求值比较先进的算法。
例2、已知一个5次多项式为
⑤十进制化k进制
高一数学人教A版必修3课件:1.3算法案例(第2课时)
f ( x) an x n an 1 x n1 a1 x a0
对该多项式按下面的方式进行改写:
f ( x) an x n an 1 x n1 a1 x a0 (an x n1 an1 x n2 a1 ) x a0 (( an x n 2 an 1 x n3 a2 ) x a1 ) x a0
i=i-1 WEND
PRINT v
END
课后作业 课本P47 第2题
算法案例
(第二课时)
1、求两个数的最大公约数的两种方法分别是 ( )和( )。
2、两个数21672,8127的最大公约数是 ( A、2709 B、2606 C、2703 D、2706
)
案例2、秦九韶算法
秦九韶算法是求一元多项式的值的一种方法。
怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢? 算法一:把5代入,计算各项的值,然后把它们加起来。
v0 5
v1 5 5 2 27 v2 27 5 3.5 138.5 v3 138.5 5 2.6 689.9 v4 689.9 5 1.7 3451.2 v5 3451.2 5 0.8 17255.2
所以,当x = 5时,多项式的值等于17255.2
开始
输入n ,an,x
输入x0 v=an i=n-1
i=i-1
v= vx+a1 n=n+1
i>= 0? 否 输出v 结束 是
程序:
INPUT “n=“; n INPUT “an=“; a INPUT “x=“; x v=a i=n-1 WHILE i>=0 PRINT “i=“ ; i INPUT “ai=“; a v=v*x+a
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学学案——秦九韶算法与排序
(1)教学目标
(a )知识与技能
1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
(b )过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙。
能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
(c )情态与价值
通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。
(2)教学重难点
重点:1.秦九韶算法的特点
2.两种排序法的排序步骤及计算机程序设计
难点:1.秦九韶算法的先进性理解
2.排序法的计算机程序设计
(3)学法与教学用具
学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。
2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。
教学用具:电脑,计算器,图形计算器
(4)教学设想
(一)创设情景,揭示课题
我们已经学过了多项式的计算,下面我们计算一下多项式
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.秦九韶计算多项式的方法
1210
123120
1322110
12211)))((())(()()(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 =时的值的程序框图。
解:程序框图如下:
开始
输入f(x)的系数:
a 1,a 2,a 3,a 4,a 5
输入x 0
n=1
v=a 5
n ≤5v=v x 0+a 5-n
n=n+1
输出v
结束是
否
练习:利用程序框图试编写BASIC 程序并在计算机上测试自己的程序。
2.排序
在信息技术课中我们学习过电子表格,电子表格对分数的排序非常简单,那么电子计算机是怎么对数据进行排序的呢?
阅读课本P30—P31面的内容,回答下面的问题:
(1)排序法中的直接插入排序法与冒泡排序法的步骤有什么区别?
(2)冒泡法排序中对5个数字进行排序最多需要多少趟?
(3)在冒泡法排序对5个数字进行排序的每一趟中需要比较大小几次?
游戏:5位同学每人拿一个数字牌在讲台上演示冒泡排序法对5个数据4,11,7,9,6排序的过程,让学生通过观察叙述冒泡排序法的主要步骤.并结合步骤解决例3的问题.
例3 用冒泡排序法对数据7,5,3,9,1从小到大进行排序
解:P32
练习:写出用冒泡排序法对5个数据4,11,7,9,6排序的过程中每一趟排序的结果.
例4 设计冒泡排序法对5个数据进行排序的程序框图.
解: 程序框图如下:
思考:直接排序法的程序框图如何设计?可否把上述程序框图转化为程序?
练习:用直接排序法对例3中的数据从小到大排序
3.小结:
(1)秦九韶算法计算多项式的值及程序设计
(2)数字排序法中的常见的两种排序法直接插入排序法与冒泡排序法
(3)冒泡法排序的计算机程序框图设计
(5)评价设计
作业:P38 A(2)(3)
补充:设计程序框图对上述两组数进行排序。