1.3算法案例ppt

合集下载

1.3算法案例(进位制)(yong)

1.3算法案例(进位制)(yong)
满十二进一,就是十二进制; 满六十进一,就是六十进制
思考:生活最常见的进位制是什么?除此之外还有
哪些常见的进位制?请举例说明. • 最常见的进位制应该是我们数学中的十进制,比 如一般的数值计算,但是并不是生活中的每一种 数字都是十进制的. • 古人有半斤八两之说,就是十六进制与十进制的 转换. • 比如时间和角度的单位用六十进制, 计算“一打” 数值时是12进制的。 • 电子计算机用的是二进制 。
思考:其它进制是否也有类似的规律呢?
八进制
7342(8) =783+382+48+2 110011(2)=125+124+023 +022+12+1
二进制
一般地,若k是一个大于1的整数,那么以k为基 数的k进制可以表示为以下形式:
a n a n 1 a 1 ( k ) ( 0 a n k , 0 a 1 , , a n 1 k ).
a×82+b×8+c=c×72+b×7+a,得:63a+b﹣48c=0, b=3(16c﹣21a), 由此知b是三的倍数,且是整数, ∴b=0,3,6, 21 a 当b=0时,可得c= 1 6 又1≤a≤6,检验知,不存在符合条件的a使得c是整数,
当3时,得c=
当b=6时,得c=
21a 1 16
开始
输入a ,k,n b=0 i=1
把a的右数第i位数字赋给t b=b+t*ki-1 i=i+1

i>n

输出结果b 结束
三、十进制化为k进制 思考:既然,k进制转化为十进制有前述的方法与 相应的算法,那么十进数又是如何才能转化为k进 数呢? 回想:a=anan-1…a2a1(k) =ankn-1+an-1kn-2+ …+a2k+a1 =b

§1.3算法案例

§1.3算法案例

为了区别进制,我们就用下 标(k)表示k进制数
an k
n1
an1 k
n 2
a3 k a2 k a1
2
下面我们来用一个具体的例子来分析:
例3.将二进制数110 011(2)化成十进制数
解 根据k进制数的实际意义,我们可以这样来转换:
110011(2) 1 2 1 2 0 2 0 2 1 2 1 2 1 32 1 16 1 2 1 51
已知一个5次多项式为
f ( x) 4x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2

x5
用秦九韶算法求这个多项式的值。
根据秦几韶算法,把多项式改写成如下形式: f ( x) ((((4 x 2) x 3.5) x 2.6) x 1.7) x 0.8 按照从内到外的顺序,依次计算一次多项式当绵值: v0 4; v1 4 5 2 22; v2 22 3.5 113.5; v3 113.5 5 2.6 564.9; v4 564.9 5 1.7 2826.2; v5 2826.2 5 0.8 14130.2. 所以,当x 5时, 多项式的值等于14130.2.
3. 已知一个5次多项式为
f ( x) 5x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2
用秦九韶算法求这个多项式当
x5
时的值。
思考:(1)上式计算时需要多少次乘法计 算?多少次加法计算? (2)在利用秦九韶算法计算n次多项式 当时需要多少次乘法计算和多少次加法计算?
f ( x) an xn an1xn1 an2 xn2 a1x a0 把一个多项式

(人教a版)必修三同步课件:1.3算法案例

(人教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 算法案例(共55张PPT)

人教版高中数学必修三课件:1.3 算法案例(共55张PPT)

解:用辗转相除法求最大公约数:612=468×1+144,468=144×3+36,144=36×4,即612
和468的最大公约数是36. 用更相减损术检验:612和468均为偶数,两次用2约简得153和117,153-117=36,11736=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,所以612和468的最大公约数为
转化为求n个一次多项式的值.
预习探究
知识点二 进位制
1.进位制:进位制是为了计数和运算方便而约定的记数系统,约定“满k进一”就 是 k进制 ,k进制的基数(大于1的整数)就是 k . 2.将k进制数化为十进制数的方法:先把k进制数写成各位上的数字与k的幂的乘积之和 的形式,再按照十进制数的运算规则计算出结果. 3.将十进制数化为k进制数的方法是 除k取余法 .即用k连续去除十进制数所得 的 商 ,直到商为零为止,然后把各步得到的余数 倒序 写出.所得到的就是相应的k 进制数. 4.k进制数之间的转化:首先转化为十进制数,再转化为 k进制数.
第一章 算法初步
1.3 算法案例 第2课时 秦九韶算法与进位制
预习探究
知识点一 秦九韶算法
1.秦九韶算法是我国南宋数学家秦九韶在他的著作《数书九章》中提出的一 个用于计算多项式值的方法. 2.秦九韶算法的方法: 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0 改写成下列的形式: f(x)=(anxn-1+an-1xn-2+…+a1)x+a0= ((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…=

高中数学人教A版必修3课件:1.3 算法案例

高中数学人教A版必修3课件:1.3 算法案例

1.3 算法案例
题型1 辗转相除法与更相减损术
4.分别用辗转相除法和更相减损术求36和80的最大公约数.

辗转相除法:
80=36×2+8,36=8×4+4,8=4×2.
故36和80的最大公约数是4.
更相减损术:
80-36=44,44-36=8,36-8=28,28-8=20,
20-8=12,12-8=4,8-4=4.
解析
111÷2=55……1,55÷2=27……1,27÷2=13……1,13÷2=6……1, 6÷2=3……0,3÷2=1……1,1÷2=0……1, 故111(10)=1101111(2).故选C.
1.3 算法案例
题型3 进位制
11.把十进制数189化为四进制数,则末位数字是( B )
A.0
B.1
1.3 算法案例
刷基础
题型3 进位制
13.十六进制数与十进制数的对应如下表:
十 六 进 1 2 3 4 5 6 7 8 9 10 A B C D E F 制 数 十 进 制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 数
例如:A+B=11+12=16+7=F+7=17(16),所以A+B的值用十六进制表示就等于17(16).
f(x)=anxn+an-1xn-1+…+a1x+a0的具体函数值,运用常规方法计算出结果最多需要n次加法和
n(n 2
1)
次乘法,而运用秦九韶算法由内而外逐层计算一次多项式的值的算法至多需要n次加法和n次乘法.对于计
算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以此算法极大地缩短了CPU运算的
A.2
B.3
C.4
D.5

高一数学 1.3.1 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修2

高一数学 1.3.1 辗转相除法与更相减损术、秦九韶算法课件 新人教A版必修2
§1.3 算法案例
第一课时 辗转相除法与更相减损术、秦九韶算法
自学导引 1.理解辗转相除法与更相减损术的含义,了解执行过程. 2.掌握秦九韶算法的计算过程,了解它在数学计算中的应用. 3.进一步体会算法的基本思想.
课前热身
欧几里得算法
两个正整数的最大公约数
1.辗转相除法是用于求
_____________________的一种方 较大的数
解:解法1(辗转相除法):先求175与100的最大公约数: 175=100×1+75, 100=75×1+25, 75=25×3. ∴175与100的最大公约数是25. 以下再求25与75的最大公约数: 75=25×3 ∴25和75的最大公约数是25.
故25是75和25的最大公约数,也就是175、100、75的最大公约数.
Hale Waihona Puke (3)任何两个数,用辗转相除法求其最大公约数的程序框图. 由于辗转相除法总是用较大的数去除以较小的数,所以首先要对一 开始给定的两数的大小进行判断,并将大数赋给m,小数赋给n,然 后再执行下面的过程.程序框图如下图所示:
(4)辗转相除法求两个数的最大公约数的程序设计.
INPUT “a,b”;a,b IF a<b THEN t=a a=b b=t END IF r=a MOD b WHILE r<>0 a=b b=r r=a MOD b WEND PRINT b END
解:(1)98和63 辗转相除法 S1 98=63 ×1+35, S2 63=35 ×1+28, S3 35=28×1+7, S4 28=4 ×7, 最大公约数为7.
更相减损术 S1 98-63=35, S2 63-35=28, S3 35-28=7, S4 28-7=21, S5 21-7=14, S6 14-7=7, 故98和63的最大公约数为7.

高中数学人教A版必修3第一章1.3算法案例课件

高中数学人教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个数学问题及其 解法,是当时世界上最简练 有效的应用数学,它的出现 标志中国古代数学形成了完 整的体系。

1、3、1算法案例(辗转相除法)

1、3、1算法案例(辗转相除法)

你从中看到了 怎样的规律? 怎么用程序框 图来描述呢?
所以, 所以,当x = 5时,多项式的值等于 时 多项式的值等于17255.2
开始
程序框图:
输入f(x)的系数: a0,a1,a2,a3,a4a5 输入x0
v0 = an vk = vk−1 x + an−k (k =1,2,L, n)
课堂小结: 课堂小结:
1、秦九韶算法的方法和步骤 、 2、秦九韶算法的程序框图 、
算法步骤: 第一步:给定两个正整数m,n; 第二步:计算m除以n所得的余数r; 第三步:m=n,n=r; 第四步:若r=0,则m,n的最大公约数等于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 END
按由里到外的顺序,依此计算一次多项式当 时的值: 按由里到外的顺序,依此计算一次多项式当x = 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
结束
欧几里得辗转相除法找出a,b的最大公约数的步骤是: (1)计算a÷b的余数r,若r=0,则b为a,b的最大公约数; (2)若r≠0,则把前面的除数b作为新的被除数,把r作 为新的除数,继续运算,直到余数为0,此时的除数即为 a,b的最大公约数.
算 法 案 例
第二课时

人教a版必修三:《1.3算法案例(1)》ppt课件(322页)

人教a版必修三:《1.3算法案例(1)》ppt课件(322页)

明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§1.3(一)
探究点二:更相减损术
思考 2 (1)用更相减损术可以求两个正整数 m,n 的最大公约数,那么用什么逻辑结 构来构造算法?其算法步骤如何设计?
答 (1)用循环结构设计算法,算法如下:
第一步,任意给定两个正整数m,n(m>n). 第二步,计算 m-n 所得的差 k. 第三步,比较n与k的大小,其中大者用m表示,小者用n表示. 第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.
第一章 算法初步
§1.3 算法案例(一)
本节知识目录
§1.3(一)
明目标、知重点
算法 案例 (一)
填要点、记疑点
探究点一 探究点二 探究点三
辗转相除法 更相减损术 秦九韶算法的基本思想
探要点、究所然
当堂测、查疑缺
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
明目标、知重点
§1.3(一)
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§1.3(一)
探究点二:更相减损术
(2)该算法的程序框图如何表示?该程序框图对应的程序如何表述?
答 程序框图: 程序:
INPUT m,n WHILE m< >n k=m-n IF n>k THEN m=n n=k ELSE m=k END IF WEND PRINT m END
明目标、知重点 填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺

算法案例 辗转相除法与更相减损术秦九韶算法与进位制第一课时课件-数学高一必修3第一章算法初步1.3人教A版

算法案例 辗转相除法与更相减损术秦九韶算法与进位制第一课时课件-数学高一必修3第一章算法初步1.3人教A版

【问题导思】 1.如何求18与54的最大公约数? 【提示】 短除法.
2.要求6 750与3 492的最大公约数,上述法还好用吗?
【提示】
数值太大,短除法不方便用.
(1)更相减损之术(等值算法)
用两个数中较大的数减去较小的数,再用 差数 较小的数 大 数 到产生 减 和
构成新的一对数,对这一对数再用 小数 ,以同样的操作一直做下去,直 ,这个数就是最大公约数.
v0=an 则递推公式为 其中 vk= vk-1x+an-k
k=1,2,„,n.
(2)计算P(x0)的方法 先计算 最内层括号 ,然后 由内向外 常数项 直到 最外层括号 ,然后加上 逐层计算, .
知识3
进位制
进位制是一种记数方式,用有限的数字在不同的位置表示
不同的数值.使用数字符号的个数称为基数,基数为 n,即称为
1.用更相减损之术可求得78与36的最大公约数是( A.24 【解析】 B.18 C.12 D. 6
)
78-36=42,42-36=6,36-6=30,30-
6=24,24-6=18,18-6=12,12-6=6,∴6为78与36的
最大公约数.
【答案】 D
2.用秦九韶算法计算f(x)=6x5-4x4+x3-2x2+x3-2x2 -9x,需要加法(或减法)与乘法运算的次数分别为( A.5,4 【解析】 B.5,5 C.4,4 )
【解析】 (1)101 111 011(2)=1×28+0×27+1×26+1×25
+1×24+1×23+0×22+1×21+1×20=379(10).
(2)1231(5)=1×53+2×52+3×5+1=191(10),
∴1231(5)=362(7).

高中数学人教A版必修三第一章1.3.3进位制-算法案例课件

高中数学人教A版必修三第一章1.3.3进位制-算法案例课件

把89化为五进制的数.
5 89 5 17 53
0
余数
4 2 3
∴ 89=324(5)
练习:把3282化为16进制的数.
10
11
12
13
14
15
A
B
C
D
E
F
思考 你会把三进制数10221(3)化为二进制数吗?
解:第一步:先把三进制数化为十进制数: 10221(3)=1×34+0×33+2×32+2×31+1×30
51
把89化为二进制的数.
2 89
2 44 2 22 2 11 25
22 21
0
余数
1 0 0 1 1 0 1
把算式中各步所得的余 数从下到上排列,得到
89=1011001(2) 可以用2连续去除89或所得 商(一直到商为0为止),然后 取余数---除2取余法.
这种方法也可以推广为把 十进制数化为k进制数的 算法,称为除k取余法.
=81+18+6+1=106. 第二步:再把十进制数化为二进制数:
106=1101010(2). ∴10221(3)=106=110就是几,基数都是大于1的数.
按照十进制数的运算规则计算出结果, 结果就是十进制下该数的大小了.
1.3算法案例
进位制
十进制数3721中的3表示3个千,7表示7个百,2表示2个 十,1表示1个一,从而它可以写成下面的形式:
3721=3×103+7×102+2×101+1×100.
同理: 3421(5)= 3×53+4×52+2×51+1×50.
每一位上的数都是整数.

1.3算法案例--辗转相除法与更相减损术PPT优秀课件

1.3算法案例--辗转相除法与更相减损术PPT优秀课件
97.有三个人是我的朋友爱我的人.恨我的人.以及对我冷漠的人。 爱我的人教我温柔;恨我的人教我谨慎;对我冷漠的人教我自立。――[J·E·丁格] 98.过去的事已经一去不复返。聪明的人是考虑现在和未来,根本无暇去想过去的事。――[英国哲学家培根] 99.真正的发现之旅不只是为了寻找全新的景色,也为了拥有全新的眼光。――[马塞尔·普劳斯特] 100.这个世界总是充满美好的事物,然而能看到这些美好事物的人,事实上是少之又少。――[罗丹] 101.称赞不但对人的感情,而且对人的理智也发生巨大的作用,在这种令人愉快的影响之下,我觉得更加聪明了,各种想法,以异常的速度接连涌入我的脑际。――[托尔斯泰] 102.人生过程的景观一直在变化,向前跨进,就看到与初始不同的景观,再上前去,又是另一番新的气候――。[叔本华] 103.为何我们如此汲汲于名利,如果一个人和他的同伴保持不一样的速度,或许他耳中听到的是不同的旋律,让他随他所听到的旋律走,无论快慢或远近。――[梭罗] 104.我们最容易不吝惜的是时间,而我们应该最担心的也是时间;因为没有时间的话,我们在世界上什么也不能做。――[威廉·彭] 105.人类的悲剧,就是想延长自己的寿命。我们往往只憧憬地平线那端的神奇【违禁词,被屏蔽】,而忘了去欣赏今天窗外正在盛开的玫瑰花。――[戴尔·卡内基] 106.休息并非无所事事,夏日炎炎时躺在树底下的草地,听着潺潺的水声,看着飘过的白云,亦非浪费时间。――[约翰·罗伯克] 107.没有人会只因年龄而衰老,我们是因放弃我们的理想而衰老。年龄会使皮肤老化,而放弃热情却会使灵魂老化。――[撒母耳·厄尔曼] 108.快乐和智能的区别在于:自认最快乐的人实际上就是最快乐的,但自认为最明智的人一般而言却是最愚蠢的。――[卡雷贝·C·科尔顿] 109.每个人皆有连自己都不清楚的潜在能力。无论是谁,在千钧一发之际,往往能轻易解决从前认为极不可能解决的事。――[戴尔·卡内基] 110.每天安静地坐十五分钟·倾听你的气息,感觉它,感觉你自己,并且试着什么都不想。――[艾瑞克·佛洛姆] 111.你知道何谓沮丧---就是你用一辈子工夫,在公司或任何领域里往上攀爬,却在抵达最高处的同时,发现自己爬错了墙头。--[坎伯] 112.「伟大」这个名词未必非出现在规模很大的事情不可;生活中微小之处,照样可以伟大。――[布鲁克斯] 113.人生的目的有二:先是获得你想要的;然后是享受你所获得的。只有最明智的人类做到第二点。――[罗根·皮沙尔·史密斯] 114.要经常听.时常想.时时学习,才是真正的生活方式。对任何事既不抱希望,也不肯学习的人,没有生存的资格。

课件11:1.3 算法案例(二)

课件11:1.3 算法案例(二)

[针对训练 3] 将 53(8)转化为二进制数. [解] 先将八进制数 53(8)转化为十进制数: 53(8)=5×81+3×80=43; 再将十进制数 43 转化为二进制数:
所以 53(8)=101011(2).
课堂归纳小结 把一个非十进制数转化为另一种非十进制数,通常 是把这个数先转化为十进制数,然后再利用除 k 取余法, 把十进制数转化为 k 进制数.而在使用除 k 取余法时要 注意以下 几点:(1)必须除到所得的商是 0 为止;(2)各步所得 的余数必须从下到上排列;(3)切记在所求数的右下角标 明基数.
[针对训练 2] (1)把十进制数 15 化为二进制数为( )
A.1011
B.1001(2)
C.1111(2)
D.1111
(2)把四进制数 13022 化为六进制数.
[解析] (1)因为 所以 15=1111(2),故 C 正确.
(2)先把四进制数 13022 化为十进制数. 13022(4)=1×44+3×43+0×42+2×4+2×40=256+192+0+8+2=458. 再把十进制数 458 化为六进制数. 458=2042(6). 故 13022(4)=2042(6).
本课结束
名师提醒 将 k 进制数化为十进制数的方法
先把 k 进制数写成各位上的数字与 k 的幂的乘积之 和的形式,再按照十进制数的运算规则计算出结果.
[针对训练 1] (1)101(2)转化为十进制数是( )
A.2
B.5
C.20
D.101
(2)下列最大数是( )
A.110(2)
B.18
C.16(8)
D.20(5)
[答案] (1)C (2)2042(6)
题型三 不同进位制间的转化 典例 3 把五进制数 1234(5)转化为十进制数,再把它转 化为八进制数. [解] ∵1234(5)=1×53+2×52+3×51+4×50=194,而

1.3算法案例 课件-高一数学人教A版必修3

1.3算法案例 课件-高一数学人教A版必修3
f (x) 4x5 2x4 3.5x3 2.6x2 1.7x 0.8
用秦九韶算法求这个多项式当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进制

2014年人教A版必修三课件 1.3 算法案例

2014年人教A版必修三课件 1.3 算法案例
开始
输入正数m,n
m>n? 是 m=m-n 否 m=n? 是 输出m 结束
否 n=n-m
案例2 秦九韶算法 问题2. 下面是求多项式 f(x)=x5+x4+x3+x2+x+1 的 值的两种算法, 你认为哪种算法要快一些? 为什么? 算法 1: 直接将 x 的值代入多项式计算; 算法 2: 将多项式变形成 f(x)=((((x+1)x+1)x+1)x+1)x+1. 算法 1 要做 10 次乘法和 5 次加法. 算法 2 只做 4 次乘法和 5 次加法. 计算机做一次乘法用的时间比做一次加法所用 的时间长得多. 对于 n 次多项式的求值运算, 我国南宋时期的 秦九韶有如下的算法:
5. 什么是秦九韶算法? 它的特点是什么? 6. 你能写出秦九韶算法的程序吗?
Hale Waihona Puke 案例1 辗转相除法与更相减损术 问题1. 你能求两个数的最大公约数吗? 看下面 一列等式, 请问: 37 是 2146 与 1813 的公约数吗? 2146 1813 余 333, 2146 = 1813 1 +333, 有37的约数, 1813 333 余 148, 1813 = 333 5 +148, 有37的约数, 333 148 余 37, 333 = 148 2 +37, 有37的约数, 148 37 余 0. 有37的约数, 148 = 37 4. 求两个数的最大公约数的算法步骤: (1) 大数除以小数取余数; (2) 较小的数与余数又进行大数除以小数取余数; 如此重复进行, 直到余数为 0. 余数为 0 时的除数就是最大公约数. 这叫辗转相除法, 又叫欧几里得算法.
否则, 返回第二步进入循环.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例3 用更相减损术求80与36的最大公 约数.
例4 求325,130,270三个数的最大公约数.
因为325=130×2+65,130=65×2,所以325与130 的最大公约数是65.
因为270=65×4+10,65=10×6+5,10=5×2,所 以65与270最大公约数是5. 故325,130,270三个数的最大公约数是5.
第三步,输入i次项的系数ai.
第四步,v=vx+ai,i=i-1.
第五步,判断i≥0是否成立.若是,则返回第三 步;否则,输出多项式的值v.
开始
程序框图
输入n、an、x的值
v=an i=n-1 i=i-1 v=vx+ai
讨论:请参照程 序框图,写出该算法 程序.
输入ai i≥0? 否 是 输出v 结束
思考3:注意到8251=6105×1+2146,那么8251 与6105这两个数的公约数和6105与2146的公约数有 什么关系?
我们发现6105=2146×2+1813,同理,6105与 2146的公约数和2146与1813的公约数相等. 思考4:重复上述操作,你能得到8251与6105这 两个数的最大公约数吗? 8251=6105×1+2146, 1813=333×5+148, 6105=2146×2+1813, 333=148×2+37, 2146=1813×1+333, 148=37×4+0. 定义:所谓的辗转相除法,就是对于给定的两个数, 用较大的数除以较小的数,若余数不为零,则将余数 和较小的数构成新的数对,继续上面的除法, 直到大数 被小数除尽,则这是较小的数就是原来两个数的最大公约数
例1:用更相减损术求98与63的最大公约数. 因为63不是偶数,所以
98-63=35, 63-35=28, 35-28=7,
28-7=21,
21-7=14, 14-7=7.
所以最大公约数是7.
例2 分别用辗转相除法和更相减损术求168与93 的最大公约数. 辗转相除法:
168=93×1+75, 93=75×1+18, 75=18×4+3, 18=3×6. 更相减损术: 168-93=75, 93-75=18, 75-18=57, 57-18=39, 39-18=21, 21-18=3, 18-3=15, 15-3=12, 12-3=9, 9-3=6, 6-3=3.
练习:用更相减损术求两个正整数m,n的最大公 约数,可以用什么逻辑结构来构造算法?其算法步骤 如何设计?
第一步,给定两个正整数m,n(m>n). 第二步,计算m-n所得的差k. 第三步,比较n与k的大小,其中大者用m表示, 小者用n表示. 第四步,若m=n,则m,n的最大公约数等于m; 否则,返回第二步. 讨论:该算法的程序框图如何表示?
思考4:辗转相除直到何时结束? 主要运用的是哪种算法结构?
辗转相除法是一个反复执行直到余数等于0停止的步骤, 这实际上是一个循环结构 辗转相除法求两个数的最大公约数,其算法可以描述如下: ① 输入两个正整数m和n; ② 求余数r:计算m除以n,将所得余数存放到变量r中; ③更新被除数和余数:m=n,n=r。 ④判断余数r是否为0:若余数为0则输出结果,否则转 向第②步继续循环执行。 如此循环,直到得到结果。
=((anxn-2+an-1xn-3+„+a2)x+a1)x+a0
= „ =(„((anx+an-1)x+an-2)x+„+a1)x+a0. 这就是我国南宋时期数学家秦九韶在他的著作 《数书九章》中提出的算法.
思考4:对于f(x)=(„((anx+an-1)x+ an-2)x+„+a1)x+a0,
(1)(18,30)6; (2)(24,16) 8; (3)(63,63) (4)(72,8) 8; 63; 7; (5)(301,133 ) 想一想,如何求8251与6105的最大公约数?
思考2:对于8251与6105这两个数,它们的最大 公约数是多少?你是怎样得到的?
由于它们公有的质因数较大,利用上述方法求 最大公约数就比较困难.有没有其它的方法可以较简 单的找出它们的最大公约数呢?
思考2:另一种做法是先计算x2的值,然后依 次计算x2·x,(x2·x)·x,((x2·x)·x)·x的 值,这样每次都可以利用上一次计算的结果,这 时一共做了:
4次乘法运算,5次加法运算.
思考3:有没有更有效的算法呢?利用后一种算 法求多项式f(x)=anxn+an-1xn-1+„+a1x+a0的值,这 个多项式应写成哪种形式? f(x)=anxn+an-1xn-1+„+a1x+a0 =(anxn-1+an-1xn-2+„+a2x+a1)x+a0
1.3
算法案例
1.3
算法案例
1.3.1 辗转相除法和更相减损术 1.3.2 秦九韶算法 1.3.3 K进制化十进制
1.3.4 十进制化K进制
1.3.1 辗转相除法 和更相减损术
复习 1.研究一个实际问题的算法,主要从哪几方面展开?
算法步骤、程序框图和编写程序三方面展开.
2.在程序框图中算法的基本逻辑结构有哪几种? 顺序结构、条件结构、循环结构 3.在程序设计中基本的算法语句有哪几种? 输入语句、输出语句、赋值语句、条件语句、循环语句
思考5:你能把辗转相除法编成一个计算机程序吗? 第一步,给定两个正整数m,n(m>n). 第二步,计算m除以n所得的余数r. 第三步,m=n,n=r. 第四步,若r=0,则m,n的最大公约数等于m; 否则,返回第二步.
开始
程序框图 INPUT m,n DO r=m MOD n m=n n=r LOOP UNTIL PRINT m END 输入m,n 求m除以n的余数r m=n
由内向外逐层计算一次多项式的值,其算法步骤如何? 第一步,计算v1=anx+an-1. 第二步,计算v2=v1x+an-2. 第三步,计算v3=v2x+an-3. … 第n步,计算vn=vn-1x+a0. 上述方法称为秦九韶算法.
思考5:在秦九韶算法中,记v0=an,那么第k步的 算式是什么?
vk=vk-1x+an-k (k=1,2,„,n)
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 i=i-1 WEND PRINT v END
开始 输入n、an、x的值
v=an i=n-1 i=i-1 v=vx+ai 输入ai i≥0? 否 是 输出v 结束
PRINT END m
小结
1、辗转相除法.
2、更相减损术.
布置作业:
P45练习:1. P48习题1.3A组:1.
1.3.2
秦九韶算法
复习 1、什么是辗转相除法和更相减损术?
2、辗转相除法和更相减损术,是求两个正整 数的最大公约数的优秀算法,我们将算法转化为 程序后,就可以由计算机来执行运算,实现了古 代数学与现代信息技术的完美结合.
1.3.3 K进制化十进制
复习
1.简述辗转相除法和更相减损术的用途及内容.
2、秦九韶算法的用途及内容.
将这些算法转化为程序,就可以由计算机来完 成相关运算.
进位制的概念 进位制是为了计数和运算方便而约定的记数系 统. 约定满二进一,就是二进制;
例1 已知一个5次多项式为
f x 4x 5 2x 4 3.5x 3 2.6x 2 1.7 x 0.8
用秦九韶算法求f(5)的值. 解:f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8.
v1=4×5+2=22; v2=22×5+3.5=113.5; v3=113.5×5-2.6=564.9; v4=564.9×5+1.7=2826.2; v5=2826.2×5-0.8=14130.2. 所以f(5)= =14130.2.
开始 输入m,n m≠n? 是 k=m-n n>k? 是 m=n n=k 否
m=k

输出m 结束 讨论:该程 序框图对应的程 序如何表述?
开始
输入m,n m≠n? 是 k=m-n
n>k? 是 m=n n=k 否
m=k

输出m 结束
INPUT m,n WHILE m≠n k=m-n IF n>k THEN m=n n=k ELSE m=k END IF WEND
练习:用辗转相除法求下列两数的最大公约数: (1)(225,135) 45 (2)(98,196) 98 24 (3)(72,168) (4)(153,119) 17
二、更相减损术 《九章算术》是中国古代的数学专著,其中的 “更相减损术”也可以用来求两个数的最大公约数, 即“可半者半之,不可半者,副置分母、子之数, 以少减多,更相减损,求其等也.以等数约之.” 意思是: 第一步:任意给定两个正整数,判断它们是否 都是偶数. 若是,用2约简;若不是,执行第二步. 第二步:以较大的数减去较小的数,接着把差 与较小的数比较,并以大数减小数.继续这个操作, 直到所得的数相等为止,则这个等数或这个数与约 简的数的乘积就是所求的最大公约数.
练习:阅读下列程序,说明它解决的实际问题是什么?
INPUT “x=”;a n=0 y=0 WHLE n<5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
相关文档
最新文档