我们已经学过了多项式的计算,下面我们计算一下多项式
当 时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为: 再统计一下计算当 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。显然少了6次乘法运算。这种算法就叫秦九韶算法。
(二)研探新知
1.秦九韶计算多项式的方法
例1 已知一个5次多项式为
用秦九韶算法求这个多项式当 时的值。
解:略
思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?
(2)在利用秦九韶算法计算n次多项式当 时需要多少次乘法计算和多少次加法计算?
练习:利用秦九韶算法计算
当 时的值,并统计需要多少次乘法计算和多少次加法计算?
例2 设计利用秦九韶算法计算5次多项式
当 时的值的程序框图。
解:程序框图如下:
练习:利用程序框图试编写BASIC程序并在计算机上测试自己的程序。
2.排序
在信息技术课中我们学习过电子表格,电子表格对分数的排序非常简单,那么电子计算机是怎么对数据进行排序的呢?
阅读课本P30—P31面的内容,回答下面的问题:
(1)排序法中的直接插入排序法与冒泡排序法的步骤有什么区别?
(2)冒泡法排序中对5个数字进行排序最多需要多少趟?
(3)在冒泡法排序对5个数字进行排序的每一趟中需要比较大小几次?
游戏:5位同学每人拿一个数字牌在讲台上演示冒泡排序法对5个数据4,11,7,9,6排序的过程,让学生通过观察叙述冒泡排序法的主要步骤.并结合步骤解决例3的问题.
例3 用冒泡排序法对数据7,5,3,9,1从小到大进行排序
解:P32
练习:写出用冒泡排序法对5个数据4,11,7,9,6排序的过程中每一趟排序的结果.
例4 设计冒泡排序法对5个数据进行排序的程序框图.
解: 程序框图如下:
思考:直接排序法的程序框图如何设计?可否把上述程序框图转化为程序?
练习:用直接排序法对例3中的数据从小到大排序
3.小结:
(1)秦九韶算法计算多项式的值及程序设计
(2)数字排序法中的常见的两种排序法直接插入排序法与冒泡排序法
(3)冒泡法排序的计算机程序框图设计