新课标人教版高中数学必修三第一章 第三节《算法案例》第二课时秦九韶算法与进位制(共33张ppt)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所以 v0=8, v1=8×2+5=21,
v2=21×2+0=42, v3=42×2+3=87, v4=87×2+0=174, v5=174×2+0=348, v6=348×2+2=698, v7=698×2+1=1 397.
所以当 x=2 时,f(x)=1 397. 同理可求当 x=-1 时,f(x)=-1, 又因为 f(-1)f(2)=-1 397<0, 则 f(x)在区间[-1,2]上有零点.
v0 1
v1 v0x 1 1 5 1 6
v2 v1x 1 6 5 1 31
v3 v2x 1 31 5 1 156 所以当x=5时, v4 v3x 1 156 5 1 781 多项式的值 v5 v4x 1 781 5 1 3906 为3906
a=rnrn-1…r1r0(2)
十进制化k进制的算法 思考1:根据上面的分析,将十进制数a化为二进制数的算 法步骤如何设计?
第一步,输入十进制数a的值.
第二步,求出a除以2所得的商q,余数r.
第三步,把所得的余数依次从右到左排列.
第四步,若q≠0,则a=q,返回第二步; 否则,输出全部余数r排列得到的二进制数.
求多项式 f (x) = 1+ 2x + 3x2 + 4x 3 + 5x 4 在x=a时的值.
3
例 3:利用秦九韶算法分别计算 f(x)=8x7+5x6+3x4+2x+1 在 x=2 与 x=-1 时的值,并判断 f(x)在区间[-1,2]上有没有零
点.
【解】 因为 f(x)=8x7+5x6+3x4+2x+1 =((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1, 且 x=2,
开始
输入a,k 求a除以k的商q 求a除以k的余数r
把所得的余数依次从右到左排成一列
a=q
q=0? 否 是
输出全部余数r排列得到的k进制数
结束
该程序框图对应的程序如何表述?
开始 输入a,k
求a除以k的商q
求a除以k的余数r
把所得的余数依次从右到左排列
a=q q=0? 否
是 输出全部余数r排 列得到的k进制数
2. k进制数的表示方法
一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表
示为一串数字连写在一起的形式:anan-1an-2…a1a0(k)(an,an-1,…, a1,a0∈N,0<an<k,0≤an-1,…,a1,a0<k). 3. k进制数与10进制数的转化
①由k进制anan-1an-2…a1a0(k)转化为10进制数 anan-1an-2…a1a0(k) =an×kn+an-1×kn-1+an-2×kn-2+…+a1×k+a0×k0; ②由10进制数转化为k进制数——除k取余法.
结束
INPUT “a,k=”
b=0 i=0 DO
q=a\k
r=a MOD k
b=b+r*10∧i i=i+1 a=q
a,k
LOOP UNTIL q=0 PRINT b END
例1 将十进制数458分别转化为四进制数和六进制数.
4 458 4 114 4 28
47 41
0
余数
2 2 0 3 1
6 458 6 76 6 12
思考2:上述化十进制数为二进制数的算法叫做除2取余法, 转化过程有些复杂,观察下面的算式你有什么发现吗?
89=2×(2×(2×(2×(2×(2×(2×0+1)+0)+1)+1)+0)+0)+1
=2×(2×(2×(2×(22+0×21+1)+1)+0)+0)+1
=2×(2×(2×(23+0×22+1×21+1)+0)+0)+1
5 191 5 38
57 51
0
余数
1 3 2 1
思考4: 若十进制数 a除以2所得的商是q0,余数是r0, 即a=2×q0+ r0;
q0除以2所得的商是q1,余数是r1,即q0=2×q1+ r1; …… qn-1除以2所得的商是0,余数是rn, 即qn-1= 2×0+rn, 那么十进制数a化为二进制数是什么数?
课堂探究:除k取余法
思考1:二进制数101101(2)化为十进制数是什么数? 十进制数89化为二进制数是什么数?
101101(2)=25+23+22+1=45.
89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1 =1×26+0×25+1×24+1×23+0×22+0×21+1×20=1011001(2).
比较上述两种方法,第二种乘法运算次数减少了,因而能 提高运算效率,对计算机来说,做一次乘法运算所用时间比作 一次加法运算要长得多,所以采用第二种做法,计算机能更快 得到结果。这就是我国南宋时期的数学家秦九韶在《数书九章》 中提出的算法----秦九韶算法
课堂探究 探究二:秦九韶算法及其应用 思考3 衡量一个算法是否优秀的重要参数是速度.把多项式f(x) =x5+x4+x3+x2+x+1变形为f(x)=((((x+1)x+1)x+1)x+1)x+ 1,然后求当x=5时的值,为什么比常规逐项计算省时?
1.3 算法案例
第2课时 秦九韶算法与进位制
2019.11
课程标准
通过阅读中 国古代数学 中的算法案 例,体会中 国古代数学 对世界数学 发展的贡献
学习要求
数学素养
1.了解算法的含义,体会算法的思想
数学抽象
2.在分析案例的基础上了解算法的基本特

数学运算
3.理解秦九韶算法的计算过程,并了解它 逻辑推理
思考2 如果我们先计算 x2 ,然后再依次计算 x2 x, (x2 x) x, ((x2 x) x) x 的值,然后相加共做了多少乘法、加法次运算?
答案 4次乘法运算,5次加法运算
课堂探究
探究一:怎样求多项式 f (x) x5 x4 x3 x2 x 1当x 5 时的值呢?
思考4:利用后一种算法求多项式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 =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =… =(…((anx+an-1)x+an-2)x+…+a1)x+a0.
WEND PRINT y
END
例1:已知一个5次多项式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
4235261708fxxxxxx?????04v?10245222vvx??????322611355265649vvx??????4317564951728262vvx??????2135225351135vvx??????540828262508141302vvx??????所以当x5时多项式的值为141302例2阅读下列程序说明它解决的实际问题是什么
按照从内到外的顺序,依次计算一次多项式当x=5时的值:
v0 4
v1 v0x 2 4 5 2 22
v2 v1x 3.5 225 3.5 113.5
v3 v2x 2.6 113.5 5 2.6 564.9
v4 v3x 1.7 564.9 5 1.7 2826.2
答案 从里往外计算,充:怎样求多项式f (x) x5 x4 x3 x2 x 1当x 5 时的值呢?
解:根据秦九韶算法,把多项式改写成如下形式:
f (x) ((((x 1)x 1)x 1)x 1)x 1
按照从内到外的顺序,依次计算一次多项式当x=5时的值:
利用除k取余法,将十进制数a化为k进制数b的算法步骤如何设计?
第一步,输入十进制数a和基数k的值. 第二步,求出a除以k所得的商q,余数r. 第三步,把所得的余数依次从右到左排成一列. 第四步,若q≠0,则a=q,返回第二步;否则,输出全部 余数r排列得到的k进制数.
将除k取余法的算法步骤用程序框图如何表示?
归纳小结
评价一个算法好坏的一个重要标志是运算的次数, 如果一个算法从理论上需要超出计算机允许范围内 的运算次数,那么这样的算法就只能是一个理论算 法.在多项式求值的各种算法中,秦九韶算法是一 个优秀算法.
作业: P45练习:2. P48习题1.3A组:2.
阅读课本P40~45页完成下列问题:
1.进位制的概念 位制是人们为了_计__数__和__运__算_方便而约定的记 数系统,“满几进一”就是几__进__制_制,_几__进__制 的基数(基数都是大于1的整数)就是_几__. 常见的进位制有二进制,七进制(一周7天)、 十进制(我们最熟悉的进位制),十二进制(一 年12个月)及六十进制(一小时60分钟).
最内层括号内 一次多项式的值,即v1= anx+an -1 , 然后由内向外逐 层计算一次多项式的值,即v2= v1x+an-,2 v3=v2x+an-,3 … vn= vn-1x+,a0
这样,求n次多项式f(x)的值就转化为求 n个一次多项式 的值.
秦九韶算法的程序设计
用秦九韶算法求多项式的值,可以 用什么逻辑结构来构造算法?其算 法步骤如何设计?
2 89 2 44
余数 1
=…
2 22
0
=1×26+0×25+1×24+1×23+0×22+0×21+1×20 =101101(2)
2 11
0
25
1
22
1
21
0
0
1
思考3:上述方法也可以推广为把十进制数化为k进制数的 算法,称为除k取余法,那么十进制数191化为五进制数 是什么数?
191=1231(5)
62 0
余数
2 4 0 2
458=13022(4)=2042(6)
例2 将五进制数3241(5)转化为七进制数.
30241(5)=3×54+2×52+4×5+1=1946.
7 1946 7 278 7 39
思考5:对于f(x)=(…((anx+an-1)x+ an-2)x+…+a1)x+a0, 由内向外逐层计算一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2. 第三步,计算v3=v2x+an-3.

第n步,计算vn=vn-1x+a0.
思考6:上述求多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值的 方法称为秦九韶算法,利用该算法求f(x0)的值,一共需 要多少次乘法运算,多少次加法运算?
提高计算效率的实质.
4理解进位制的概念,能进行不同进位制
间的转化.
课堂探究
探究一:怎样求多项式 f (x) x5 x4 x3 x2 x 1当x 5 时的值呢?
阅读课本P37~38页 思考1 按我们平时的求解方法,把x的值代入多项式,计算各项 的值,然后相加共做了多少乘法、加法次运算? 答案 4+3+2+1=10次乘法运算,5次加法运算
第一步,输入多项式的次数n, 最高次项的系数an和x的值. 第二步,令v=an,i=n-1. 第三步,输入i次项的系数ai. 第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是, 则返回第 二步;否则,输出 多项式的值v.
该算法的程序框图
开始
输入n,an,x的值 v=an i=n-1
i≥0? 否
输出v
结束
i=i-1
v=vx+ai
输入ai 是
该程序框图对应的程序如何表述?
开始
输入n,an,x的值 v=an i=n-1
i=i-1
v=vx+ai
i≥0?
否 输出v
输入ai 是
结束
INPUT “n=”;n INPUT “an=”;a INPUT “x=”;x
v=an i=n-1
WHILE i>=0 INPUT “ai=”;b v=v*x+b i=i-1
n次乘法,n次加法
思考7:在秦九韶算法中,记v0=an,那么第k步的算式是什么?
vk=vk-1x+an-k (k=1,2,…,n)
秦九韶算法原理、程序框图及其相应程序
秦九韶算法的原理
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式: (…((anx+an-1)x+an-2)x+…+a1)x+a0,求多项式的值时,首先计算
v5 v4x 0.8 2826.2 5 0.8 14130.2
所以当x=5时,多项式的值为14130.2
例2 阅读下列程序,说明它解决的实际问题是什么?
INPUT “x=”;a n=0 y=0 WHLE n<5
y=y+(n+1)*a˄n n=n+1 WEND PRINT y END
相关文档
最新文档