1.3算法案例(第一课时)
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《算法案例--辗转相除法和更相减损术》
01.07.2019
93 168 1
75 93 18 75 4 18 72 03
3、利用辗转相除法求最大公约数的步骤如下: 第一步:用较大的数m除以较小的数n得到
一个商q0和一个余数r0;(m=n×q0+r0) 第二步:若r0=0,则n为m,n的最大公约
数. 2. 更相减损术,就是对于给定的两个正
整数,用较大的数减去较小的数,然后将差 和较小的数构成新的一对数,继续上面的减 法,直到差和较小的数相等,此时相等的两 数0即1.07.20为1损术的区别
(1)都是求最大公约数的方法,计算上辗转相除 法以除法为主,更相减损术以减法为主,计算次数 上辗转相除法计算次数相对较少,特别当两个数字 大小区别较大时计算次数的区别较明显。
教学难点 :转相除法与更相减损术的方法转 换成程序框图与程序语言。
01.07.2019
问题提出
1.研究一个实际问题的算法,主要从 算法步骤、程序框图和编写程序三方面 展开.在程序框图中算法的基本逻辑结构 有哪几种?在程序设计中基本的算法语 句有哪几种?
2.“求两个正整数的最大公约数” 是数学中的一个基础性问题,它有各种 解决办法,我们以此为案例,对该问题 的算法作一些探究.
m=n
否
输出m 结束
INPUT m,n WHILE m<>n
k=m-n IF mn=>nk THEN
n=k ELSEm=k END IF WEND PRINT m
01.07.2019
n=k
END
例2 分别用更相减损术和辗转相除法求98
与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数,
1.3《算法案例--辗转相除法与更相减损术》
结论: 8251和6105的公约数就是6105和2146的公约数,求8251和6105的最大公约数,只要求出6105和2146的公约数就可以了。
第二步 对6105和2146重复第一步的做法 6105=2146×2+1813 同理6105和2146的最大公约数也是2146和1813的最大公约数。
1813=333×5+148
333=148×2+37 148=37×4+0 显然37是148和37的最大公约数, 也就是8251和6105的最大公约 数
ks5u精品课件
一、辗转相除法(欧几里得算法) 算理:所谓辗转相除法,就是对于给定的两 个数,用较大的数除以较小的数。若余数不 为零,则将余数和较小的数构成新的一对数, 继续上面的除法,直到大数被小数整除,则 这时较小的数就是原来两个数的最大公约数。
解:由于63不是偶数,把98和63以大数减小数, 并辗转相减 98-63=35 63-35=28 35-28=7 28-7=21 21-7=21 14-7=7 所以,98和63的最大公约数等于7
练习: 课本p48 1(1)用更相减损术计算
ks5u精品课件
用更相减损术求294和84的最大公约数时, 需做减法的次数是( )
INPUT “a,b=“;a,b WHILE a<>b r=a-b IF b>r THEN a=b b=r ELSE a=r END IF WEND PRINT b END
开始
输入a,b
b=r
a=b 是 r<b? 否 a≠b? 否 是 r=a-b a=r
输出b
结束
人教版高中数学必修三课件: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 =…=
高中数学 (1.3 算法案例)示范教案 新人教A版必修3
课题:书法---写字基本知识课型:新授课教学目标:1、初步掌握书写的姿势,了解钢笔书写的特点。
2、了解我国书法发展的历史。
3、掌握基本笔画的书写特点。
重点:基本笔画的书写。
难点:运笔的技法。
教学过程:一、了解书法的发展史及字体的分类:1、介绍我国书法的发展的历史。
2、介绍基本书体:颜、柳、赵、欧体,分类出示范本,边欣赏边讲解。
二、讲解书写的基本知识和要求:1、书写姿势:做到“三个一”:一拳、一尺、一寸(师及时指正)2、了解钢笔的性能:笔头富有弹性;选择出水顺畅的钢笔;及时地清洗钢笔;选择易溶解的钢笔墨水,一般要固定使用,不能参合使用。
换用墨水时,要清洗干净;不能将钢笔摔到地上,以免笔头折断。
三、基本笔画书写1、基本笔画包括:横、撇、竖、捺、点等。
2、教师边书写边讲解。
3、学生练习,教师指导。
(姿势正确)4、运笔的技法:起笔按,后稍提笔,在运笔的过程中要求做到平稳、流畅,末尾处回锋收笔或轻轻提笔,一个笔画的书写要求一气呵成。
在运笔中靠指力的轻重达到笔画粗细变化的效果,以求字的美观、大气。
5、学生练习,教师指导。
(发现问题及时指正)四、作业:完成一张基本笔画的练习。
板书设计:写字基本知识、一拳、一尺、一寸我的思考:通过导入让学生了解我国悠久的历史文化,激发学生学习兴趣。
这是书写的起步,让学生了解书写工具及保养的基本常识。
基本笔画书写是整个字书写的基础,必须认真书写。
课后反思:学生书写的姿势还有待进一步提高,要加强训练,基本笔画也要加强训练。
课题:书写练习1课型:新授课教学目标:1、教会学生正确书写“杏花春雨江南”6个字。
2、使学生理解“杏花春雨江南”的意思,并用钢笔写出符合要求的的字。
重点:正确书写6个字。
难点:注意字的结构和笔画的书写。
教学过程:一、小结课堂内容,评价上次作业。
二、讲解新课:1、检查学生书写姿势和执笔动作(要求做到“三个一”)。
2、书写方法是:写一个字看一眼黑板。
(老师读,学生读,加深理解。
1.3《算法案例》教案1(新人教必修3)
§1.3 算法案例(1)教学目标(1)介绍中国古代算法的案例-韩信点兵-孙子问题;(2)用三种方法熟练的表示一个算法;(3)让学生感受算法的意义和价值.教学重点、难点:不定方程解法的算法.教学过程一、问题情境(韩信点兵-孙子问题):韩信是秦末汉初的著名军事家。
据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数。
韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行。
在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333人。
众人听了一愣,不知道韩信用什么方法这么快就能得出正确的结果的。
同学们,你知道吗?背景说明:1.类似的问题最早出现在我国的《算经十书》之一的《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:「二十三」”2.孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。
中国剩余定理(Chinese Remainder Theorem )在近代抽象代数学中占有一席非常重要的地位;3.该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”。
在中国还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知。
它的意思是说:将某数(正整数)除以3所得的余数乘以70,除以5所得的余数乘以21,除以7所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105为止。
所得结果就是某数的最小正整数值。
用上面的歌诀来算《孙子算经》中的问题,便得到算式:2×70+3×21+2×15=233,233-105×2=23,即所求物品最少是23件。
第一章 1.3 算法案例:辗转相除法、秦九韶算法
3,答案:C
返回
• 4.用秦九韶算法求f(x)=3x?+4x?+5x? +6x?+7x?+8x+1,当x=0.4时的值, 需进行乘法运算和加法运算的次数分别为 ( ) • A. 6 6 B. 5 6 • C.6 5 D.6 12 • 解析:改写多项多f(x)=(((((3x+4)x+5)x+ 6)x+7)x+8)x+1,则需要6次乘法和6次加 法. • 答案:A
返回
课堂练习
2.用辗转相除法求294和84的最大公约数时,需要 做除法的次数是( ) A.1 B. 2 C.3 D. 4 3.用秦九韶算法求多项式的值,可用哪种结构的算 法实现( ) A.顺序结构 B.条件结构 C.循环结构 D.A、B两种 • 2,解析:由294=84×3+42,84=42×2知,共需 做2次除法. • 答案:B
返回
法二:更相减损术:
因为378与90都是偶数. 所以用2约简得189和45. 189-45=144,144-45=99, 99-45=54,54-45=9, 45-9=36,36-9=27, 27-9=18,18-9=9.
所以378与90的最大公约数为2×9=18.
返回
[例2]
用秦九韶算法求多项式
1.3 算法案例 辗转相除法、秦九韶算法
返回
预习思考
• 1,用辗转相除法求80和36的最大公约数, 并用更相减损术检验所得结果.
• 2,用秦九韶算法求多项式f(x)=2x4-6x3 -5x2+4x-6在x=5时的值.
返回
[例1]
用辗转相除法求80和36的最大公约数,并
用更相减损术检验所得结果. [自主解答] 用辗转相除法:
返回
1.秦九韶算法的步骤
返回
2.应用秦九韶算法计算多项式的值应注意的问题 (1)要正确将多项式的形式进行改写. (2)计算应由内向外依次计算. (3)当多项式函数中间出现空项式,要以系数为零的
高中数学必修三1.3算法案例-辗转相除法
1734=816×2+102
816=102×8
2)再求102与1343的最大公约数
1343=102×13+17
102=17×6
所以17为102与1343的最大公约数
所以17为1734、816、1343这三个数的最大公约数
板
书
设
计
第1.3节算法案例-----辗转相除法
............................... ................................... ...............
课后作业
P45练习:1.
P48习题1.3A组:1.
课
后
反
思
1.辗转相除法的思想2.辗转相除法算法框图3.例题讲解
................................ ................................... ...............
............................... ................................... ...............
2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序。
(b)过程与方法
在辗转相除法求最大公约数的学习过程中体会我们常见的约分求公因式的方法,,并从程序的学习中体会数学的严谨,领会数学算法计算机处理的结合方式,初步掌握把数学算法转化成计算机语言的一般步骤。
(c)情态与价值
1.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。
PRINT m
END
课堂练习:1.求两数4081与20723的最大公约数.
1.3算法案例(辗转相除法、更相减损术与秦九韶算法)课件(人教A版必修3)
• 解析: f(x)=(((((x-5)x+6)x-3)x+1.8)x+ 0.35)x + 2 , v0 = 1 , v1 = v0x - 5 =- 6 , v2 = v1x+6=-6×(-1)+6=12,v3=v2x-3= -15. • 答案:-15
• 类型三 算法思想的应用 • [ 例 4] 运用秦九韶算法求 7 次多项式 f(x) = a7x7 + a6x6 + a5x5 + a4x4 + a3x3 + a2x2 + a1x + a0 当 x = x0 时 的 值 , x0 , a1 ~ a7 都由键盘输入,画出算法的程 序框图. • [解] 程序框图如图1所示: • [点评] 用秦九韶算法对一个n次多项 式变形,可以得到下面的表达式:
计算 方法
v3=v2x+an-3,
… vn=
vn-1x+a0 ,
这样,求n次多项式f(x)的值就转化为求
n个一次多项式 的值
自我检测
• 1 .用辗转相除法求 294 和 84 的最大公 约数时,需要做除法的次数是( ) • A .1 B.2 • C.3 D.4
• 解析:294=84×3+42,84=42×2+0. • 答案:B
更相减损术
①都是求最大公约数的方法. 联 ②二者的实质都是递归的过程 系 . ③二者都要用循环结构来实现.
• 注意:应用更相减损术时,相减之前 先判断两个数是否为偶数,若都是偶 数则要反复除 2 ,直至至少出现一个 奇数为止.最后的公约数也是相减之 后的数乘以约简数. • 2.秦九韶算法的特点 • 秦九韶算法的特点在于把求一个 n 次 多项式的值转化为求 n 个一次多项式 的 值 , 即 把 求 f(x) = anxn + an - 1xn - 1 +…+a1x+a0的值转化为求递推公式:
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页)
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§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
明目标、知重点 填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
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.辗转相除法
1.3案例1辗转相除法与更相减损术
用更相减损术求98和 的最大公约数 的最大公约数. 例1 用更相减损术求 和63的最大公约数 解: 63不是偶数 不是偶数 98-63=35 63-35=28 35-28=7 28-7=14 14-7=7
所以7是最大公约数 所以 是最大公约数. 是最大公约数 练习: 练习:求(142,585)= _______ , )
2.更相减损术: 2.更相减损术: 更相减损术 原理:以较大的数减去较小的数, 原理:以较大的数减去较小的数,接 着把所得的差与较小的数比较, 着把所得的差与较小的数比较,并以大 数减小数.继续这个操作 继续这个操作, 数减小数 继续这个操作,直到所得的 数相等为止,则这个数(等数) 数相等为止,则这个数(等数)就是所 求的最大公约数
今天我们来学习一种求最大公约数 的新方法——辗转相除法。也叫欧几里 辗转相除法。 的新方法 辗转相除法 德算法,它是由欧几里德在公元前300 德算法,它是由欧几里德在公元前300 年左右首先提出的。 年左右首先提出的。
〖研探新知〗
1.辗转相除法: 1.辗转相除法: 辗转相除法 求两个正数8251 6105的最大公约数 8251和 的最大公约数。 例1 求两个正数8251和6105的最大公约数。 解:8251=6105×1+2146; 8251=6105× 6105=2146×2+1813; = × + 2146=1813×1+333; = × + 1813=333×5+148; = × + 333=148×2+37; = × + 148=37×4+0. = × + 37为8251与6105的最大公约数 的最大公约数。 则37为8251与6105的最大公约数。
辗转相除法的程序框图及程序
开始
输入两个正数m,n 输入两个正数
r=m MOD n m=n n=r r=0? 是
1.3 算法案例 (第1课时)
2014—2015学年度高一数学导学案使用时间:编制:组长:年级:课题:1.3 算法案例(第1课时)编号:【使用说明及学法指导】1.先预习教材P34——P37,用红色笔进行勾画,再针对导学案问题导学部分二次阅读并回答提出的问题,时间不超过30分钟;2.限时完成导学案合作探究部分,书写规范,A层完成所有题目,对于选做部分BC层可以选做;3.找出自己的疑惑和需要讨论的问题准备课堂讨论质疑;【学习目标】1、掌握辗转相除法与更相减损术的原理及算法分析;2、熟练运用两种算法求正整数的最大公约数;3、在合作探究过程中,培养学生独立思考,合作分享的精神。
【预习案】一、预习导学思考1:在小学中我们是如何求出两个正整数的最大公约数的呢?思考2:对于8251与6105这两个数,它们的最大公约数是多少?你是怎样得到的?思考3:注意到8251=6105×1+2146,那么8251与6105这两个数的公约数和6105与2146的公约数有什么关系?思考4:重复上述操作,你能得到8251与6105这两个数的最大公约数吗?辗转相除法:班级:小组:姓名:评价:思考5:求最大公约数还有没有其他方法?什么是更相减损术?更相减损术:【探究案】探究点一:辗转相除法求最大公约数例1:用辗转相除法求459和357的最大公约数.探究点二:更相减损术求最大公约数.例2:用更相减损术求81与135的最大公约数.拓展:求三个数168,56,264的最大公约数.班级:小组:姓名:评价:【训练案】1.用辗转相除法求下列两数的最大公约数:(1)(225,135)(2)(98,196)2.用更相减损术求98与63的最大公约数.3.分别用辗转相除法和更相减损术求168与93的最大公约数.4.求325,130,270三个数的最大公约数.班级:小组:姓名:评价:【故事阅读】[1]韩信是秦末汉初的著名军事家.据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数,韩信先令士兵排成3列纵队,结果有2人多余,接着下令排成5列纵队,结果又多出3人,随后他又下令改为7列纵队,这次又剩下2人无法成整行.在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333人.众人听了一楞,不知道韩信用什么方法这么快就能得到正确的结果的.你知道吗?[2]《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”意思是:第一步:任意给定两个正整数,判断它们是否都是偶数. 若是,用2约简;若不是,执行第二步.第二步:以较大的数减去较小的数,接着把差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个等数或这个数与约简的数的乘积就是所求的最大公约数.。
1.3算法案例第一课时 辗转相除法与更相减损术
1.3 算法案例第一课时辗转相除法与更相减损术学习目标弄清算法原理,掌握算法程序,经历算法设计过程,体会算法设计的关键环节,领悟算法思想.重点:算法案例的原理、算法设计及算法思想的体会.难点:理解算法案例的内容及具体算法设计的关键步骤.一、课前自主预习1.用两数中的数减去的数,再用构成新的一对数,再用减,以同样的操作一直做下去,直到所得的两数相等为止,这个数就是这两个数的最大公约数.这个方法称作“更相减损术”,用它编写的算法称作“等值算法”.2.古希腊求两个正整数的最大公约数的方法是:用除以所得的和构成新的一对数,继续做上面的除法,直到大数被小数除尽,这个较小的数就是最大公约数.据此编写的算法,也称作“欧几里得算法”.3.对于正整数m与n(m>n),总能找到整数q和r(0≤r<n)使得m=nq+r成立,这个除法称为带余除法.通常记r=m MOD n.二、思路方法技巧[例1] 用辗转相除法和更相减损术两种方法求80和36的最大公约数.跟踪练习1(1)用辗转相除法求288与123的最大公约数.(2)用更相减损术求57与93的最大公约数.(3)求567与405的最小公倍数.[例2] 求324,243和135的最大公约数.随堂应用练习1.在对16和12求最大公约数时,整个操作如下:(16,12)―→(4,12)―→(4,8)―→(4,4),由此可以看出12和16的最大公约数是________.2.1443与999的最大公约数是________.3.运算速度快是计算机一个很重要的特点,而算法好坏的一个重要标志是________.4.2004与4509的最大公约数为________.5.写出从键盘任意输入两个正整数a,b,输出这两个数的最小公倍数的算法,画出程序框图,写出算法语句.。
高中数学人教版必修三课件:1.3算法案例
要求多项式的值,应该先算最内层的一次多项式的值,即
v0 an
vk vk1xank
v1anxan1
然后,由内到外逐层计算一次多项式的值,即
v2v1xan2
v3v2xan3
vnvn1xa0
最后的一项 是什么?
这种将求一个n次多项式f(x)的值转化成求n个 一次多项式的值的方法,称为秦九韶算法。
( ( a n x a n 1 ) x a n 2 ) x a 1 ) x a 0
这样改写的目的是什么?
简化计算的次数(尤其是乘法的次数)。
设 f ( x) 是一个n次的多项式
f(x ) a n x n a n 1 x n 1 a 1 x a 0
算法案例
(第三课时)
一、进位制
1、什么是进位制? 2、最常见的进位制是什么?除此之外还 有哪些常见的进位制?请举例说明.
进位制是人们为了计数和运算方便 而约定的记数系统。
1、我们了解十进制吗?所谓的十进制,它是如 何构成的?
十进制由两个部分构成
第一、它有0、1、2、3、4、5、6、7、8、9 十个数字;(用10个数字来记数,称基数为10)
算法案例
(第一课时)
1、求两个正整数的最大公约数
(1)求25和35的最大公约数 (2)求225和135的最大公约数
(1) 5 25 35 57
所以,25和35的最大公约数为5
所以,225和135的最大公约数为45
2、求8251和6105的最大公约数
辗转相除法(欧几里得算法)
观察用辗转相除法求8251和6105的最大公约数的过程
(1)二进制的表示方法
二进制是用0、1两个数字来描述的。如11001等
示范教案(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 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)的值共需要___________次运算.答案: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.设计感想古老的算法散发浓郁的现代气息,这是一节充满智慧的课.本节主要介绍了秦九韶算法.通过对秦九韶算法的学习,对算法本身有哪些进一步的认识?教师引导学生思考、讨论、概括,小结时要关注如下几点:(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.设计感想计算机是以二进制的形式进行存储和计算数据的,而一般我们传输给计算机的数据是十进制数据,因此计算机必须先将十进制数转换为二进制数,再处理,显然运算后首次得到的结果为二进制数,同时,计算机又把运算结果由二进制数转换成十进制数输出.因此学好进位制是非常必要的,另外,进位制也是高考的重点,本节设置了多种题型供学生训练,所以这节课非常实用.。
高中数学 1.3 算法案例课堂教学课件1 新人教A版必修3
解:原多项式先化为:
f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0
列表(liè2biǎo-)5 0 -4 3 -6 0
x=5
10 25 125 605 3040 15170
2 5 25 121 608 3034 15170
所以(suǒyǐ),当x=5时,多项式的值是
151注70意. :n次多项式有n+1项,因此缺少哪一项应 将其系数补0.
3721=3×103+7×102+2×101+1×100. 想一想二进制数1011(2)可以(kěyǐ)类似的写 成什么形式? 1011(2)=1×23+0×22+1×21+1×20. 同理: 3421(5)=3×53+4×52+2×51+1×50.
C7A16(16)=12×164+7×163+10×162 +1×161+6×160.
观察上述(shàngshù)秦九韶算法中的n个一
次式,可见vk的计算要用到vk若-1的令值v0.=an,得 v0=an,
vK=vK-1x+an-k(k=1,2,……,n)
这是一个在秦九韶算法中反复执行的步骤, 因此可用循环(xúnhuán)结构来实现.
第十八页,共33页。
算法(suàn fǎ)分 析:
它的特点是:把求一个n次多项式的值转化 为求n个一次多项式的值,通过这种转化,把运算 的次数由至多n(n+1)/2次乘法运算和n次加法运 算,减少为n次乘法运算和n次加法运算,大大提高 了运算效率.
第十七页,共33页。
v1=anx+an-1,
v2=v1x+an-2,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r=m MOD n m=n n=r r=0? 是 否
333=148×2+37 148=37×4+0
《九章算术》——更相减损术 九章算术》 更相减损术
算理:可半者半之,不可半者,副置分母、子之数,以少减多, 算理:可半者半之,不可半者,副置分母、子之数,以少减多,更相减 求其等也,以等数约之。 损,求其等也,以等数约之。
辗转相除法是一个反复执行直到余数等于0停止的步骤, 辗转相除法是一个反复执行直到余数等于 停止的步骤,这实际上是 停止的步骤 一个循环结构。 一个循环结构。
m=n×q+r
用程序框图表示出右边的过程
8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333 1813=333×5+148
第二步 对6105和2146重复第一步的做法 和 重复第一步的做法 6105=2146×2+1813 × 同理6105和2146的最大公约数也是 的最大公约数也是2146和1813的最大公约数。 的最大公约数。 同理 和 的最大公约数也是 和 的最大公约数
完整的过程 8251=6105×1+2146 6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 显然37是 显然 是148和37的最大公约 和 的最大公约 也就是8251和6105的最 数,也就是 和 的最 大公约数
所以, 和 的最大公约数为 的最大公约数为78251和6105的最大公约数 、 和 的最大公约数
辗转相除法(欧几里得算法) 辗转相除法(欧几里得算法)
观察用辗转相除法求8251和6105的最大公约数的过程 和 观察用辗转相除法求 的最大公约数的过程 用两数中较大的数除以较小的数, 第一步 用两数中较大的数除以较小的数,求得商和余数 8251=6105×1+2146 × 结论: 8251和6105的公约数就是 结论: 和 的公约数就是6105和2146的公约数,求8251和 和 的公约数, 和 的公约数就是 的公约数 6105的最大公约数,只要求出6105和2146的公约数就可以了。 的最大公约数,只要求出 和 的公约数就可以了。 的最大公约数 的公约数就可以了
用辗转相除法求225和135的最大公约数 例2 用辗转相除法求 和 的最大公约数 225=135×1+90 135=90×1+45 90=45×2 显然45是 和 的最大公约数 的最大公约数, 显然 是90和45的最大公约数,也就是 225和135的最大公约数 225和135的最大公约数 思考1: 思考 :从上面的两个例子可以看出计 算的规律是什么? 算的规律是什么? S1:用大数除以小数 : S2:除数变成被除数,余数变成除数 :除数变成被除数, S3:重复S1,直到余数为 :重复 ,直到余数为0
练习: 课本P36练习第1题
第一步:任意给顶两个正整数;判断他们是否都是偶数。若是,则用 第一步:任意给顶两个正整数;判断他们是否都是偶数。若是,则用2 约简;若不是则执行第二步。 约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较小的数比较, 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并 以大数减小数。继续这个操作,直到所得的减数和差相等为止, 以大数减小数。继续这个操作,直到所得的减数和差相等为止,则这个 等数就是所求的最大公约数。 等数就是所求的最大公约数。
用更相减损术求98与 的最大公约数 例3 用更相减损术求 与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 所以, 和 的最大公约数等于
算 法 案 例
(第一课时)
1、求两个正整数的最大公约数 、 (1)求25和35的最大公约数 ) 和 的最大公约数 (2)求49和63的最大公约数 ) 和 的最大公约数 (1) 5 ) 25 5 35 7 (2) 7 ) 49 7 63 9
所以, 和 的最大公约数为 的最大公约数为5 所以,25和35的最大公约数为