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的最大公约数.
算 法 案 例
第二课时
  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
相关文档
最新文档