1、算法案例,(第二课时秦九韶算法),计算多项式 当x = 5的值,算法1:,算法2:,分析:两种算法中各用了几次乘法运算?几次加法运算?,将多项式变形:,计算一个四次多项式当 x = 5 时的值,计算任意一个四次多项式当 x = 5 时的值:,计算任意一个四次多项式当 x = 5 时的值:,然后,由内到外逐层计算一次多项式的值,即,你从中看到了怎样的规律?怎么用程序框图来描述呢?,开始,INPUT a0、a1、a2、a3、a4,INPUT X,WHILE i = 0,WEND,PRINT v,END,对该多项式按下面的方式进行改写:,这是怎样的一种改写方式?最后的结果是什么?,要求多项式的值,应
2、该先算最内层的一次多项式的值,即,然后,由内到外逐层计算一次多项式的值,即,最后的一项是什么?,这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。,思考:在求多项式的值上,这是怎样的一个转化?,秦 九 韶,秦九韶(生卒年不详,活动期约在13世纪)中国南宋数学家,字道古,四川人,著有数书九章(1247年)18卷。对大衍求一数(整数论中的一次同余式解法)和“正负开方术”(数字高次方程的求正根法)等都有深入的研究。中国自古以来就使用十进位制计数法,一些实用的计量单位也采用十进制,所以很容易产生十进分数,即小数的概念。第一个将这一概念用文字表达出来的是魏晋时代的刘徽。
3、他在计算圆周率的过程中,用到尺、寸、分、厘、毫、秒 、忽等7个单位;对于忽以下的更小单位则不再命名,而统称为“微数”。到了宋、元时代,小数概念得到了进一步的普及和更明确的表示。杨辉日用算法(1262年)载有两斤换算 的口诀:“一求,隔位六二五;二求,退位一二五”,即1/1600625;2/160125。 这里的“隔位”、“退位”已含有指示小数点位置的意义。秦九韶则将单位注在表示整数部分个位的筹码之下,例如: 表示13.12寸 寸是世界上最早的小数表示法。在欧洲和伊斯兰国家,古巴比伦的六十进制长期以来居于统治地位,一些经典科学著作都是采用六十进制,因此十进制小数的概念迟迟没有发展起来。15世纪中
4、亚地区的阿尔卡西(?1429)是中国以外第一个应用小数的人。欧洲数学家直到16世纪才开始考虑小数,其中较突出的是荷兰人斯蒂文(15481620),他在论十进制(1583年)一书中明确表示法。例如把5.714记为:5714或5,714。而第一个把小数表示成今日世界通用的形式的人是德国数学家克拉维斯(15371612),他在星盘(1593年)一书中开始使用小数点作为整数部分与小数部分之间的分界符。,尽管秦九韶算法是距今700多年前提出的,但现在仍然是多项式求值的比较先进的算法;秦九韶是享誉世界的数学家,美国当代数学史家萨顿(G.Sarton)说,秦九韶是”他那个民族、他那个时代、并且确实也是最伟大
5、的数学家之一。“,INPUT “n=“;n INPUT “an=“;a INPUT “x=“;x V=a =n-1 WHILE =0 PRINT “ =”; INPUT “a =“;a v=v*x+a = 1 WEND PRINT v END,1特点:通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。2算法步骤: 第一步:计算最内层 的值,将 的值赋给一个变量 (为方便将 赋给变量 );第二步:计算 的值,可以改写为 将 的值赋给一个变量 .依此类推,即每一步的计算之后都赋予一个新值 ,即从最内层的括号到最外层括号的值依次赋予变量 第n步所求值 即为所求多项式的值。,