1、三维目标1理解算法案例的算法步骤和程序框图.2引导学生得出自己设计的算法程序.3. 体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.重点难点教学重点:引导学生得出自己设计的算法步骤、程序框图和算法程序.教学难点:体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.案例 1 辗转相除法辗转相除法求两个数的最大公约数,其算法步骤可以描述如下:第一步,给定两个正整数 m,n.第二步,求余数 r:计算 m 除以 n,将所得余数存放到变量 r 中.第三步,更新被除数和余数:m=n,n=r.第四步,判断余数 r 是否为 0.若余数为 0,则输出结果;否则转向第二步继
2、续循环执行.如此循环,直到得到结果为止. 这种算法是由欧几里得在公元前 300 年左右首先提出的,因而又叫欧几里得算法.案例 2 更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术. 九章算术是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”翻译为现代语言如下:第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用 2 约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数
3、(等数)或这个数与约简的数的乘积就是所求的最大公约数.应用示例例 1 用辗转相除法求 288 与 123 的最大公约数例 2 用更相减损术求 98 与 63 的最大公约数点评:更相减损术与辗转相除法的比较:尽管两种算法分别来源于东、西方古代数学名著,但是二者的算理却是相似的,有异曲同工之妙主要区别在于辗转相除法进行的是除法运算,即辗转相除;而更相减损术进行的是减法运算,即辗转相减,但是实质都是一个不断的递归过程拓展思考(选做):用辗转相除法或者更相减损术求三个数 324,243,135 的最大公约数.例 3 (1)用辗转相除法求 123 和 48 的最大公约数.(2)用更相减损术求 80 和
4、36 的最大公约数.点评:对比两种方法控制好算法的结束,辗转相除法是到达余数为 0,更相减损术是到达减数和差相等.案例 3 割圆术阅读教材 28 页-30 页案例 4 秦九韶算法提出问题(1)求多项式 f(x)=4x3+3x2+2x+1 当 x=2 时的值有哪些方法?比较它们的特点 .(2)什么是秦九韶算法?(3)怎样评价一个算法的好坏?讨论结果:上面问题有没有更有效的算法呢?我国南宋时期的数学家秦九韶(约 12021261)在他的著作数书九章中提出了下面的算法:把一个 n 次多项式 f(x)=anxn+an-1xn-1+a1x+a0 改写成如下形式:f(x)=anxn+an-1xn-1+a1
5、x+a0=(a nxn-1+an-1xn-2+a1)x+ a0=(a nxn-2+an-1xn-3+a2)x+a 1)x+a0=(a nx+an-1)x+a n-2)x+a 1)x+a 0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=anx+an-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+an-2,v3=v2x+an-3,vn=vn-1x+a0,这样,求 n 次多项式 f(x)的值就转化为求 n 个一次多项式的值.上述方法称为秦九韶算法.直到今天,这种算法仍是多项式求值比较先进的算法.应用示例例 1 已知一个 5 次多项式为 f(x)=5x 5+2x4+3.5x3
6、-2.6x2+1.7x-0.8,用秦九韶算法求这个多项式当 x=5 时的值.解:根据秦九韶算法,把多项式改写成如下形式:f(x)=((5x+2)x+3.5)x-2.6)x+1.7)x-0.8 ,按照从内到外的顺序,依次计算一次多项式当 x=5 时的值:v0=5;v1=55+2=27;v2=275+3.5=138.5;v3=138.55-2.6=689.9;v4=689.95+1.7=3 451.2;v5=3 415.25-0.8=17 255.2;所以,当 x=5 时,多项式的值等于 17 255.2.点评:本题是古老算法与现代计算机语言的完美结合,详尽介绍了思想方法、算法步骤、程序框图和算法
7、语句,是一个典型的算法案例.结论:秦九韶算法适用一般的多项式 f(x)=anxn+an-1xn-1+a1x+a0 的求值问题.直接法乘法运算的次数最多可到达 ,加法最多 n 次.秦九韶算法通过转化把乘法运算的次数减少2)1(n到最多 n 次,加法最多 n 次.例 2 已知多项式函数 f(x)=2x55x 4+3x26x+7 ,求当 x=2 时的函数的值.点评:如果多项式函数中有缺项的话,要以系数为 0 的项补齐后再计算.拓展提升用秦九韶算法求多项式 f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x 当 x=3 时的值.小结:(1)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应该选择高效的算法;(3)算法的种类虽多,但三种逻辑结构可以有效地表达各种算法等等.