(最新整理)算法案例(秦九韶算法)課件_第1頁
(最新整理)算法案例(秦九韶算法)課件_第2頁
(最新整理)算法案例(秦九韶算法)課件_第3頁
(最新整理)算法案例(秦九韶算法)課件_第4頁
(最新整理)算法案例(秦九韶算法)課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

(最新整理)算法案例(秦九韶算法)2021/7/261(最新整理)算法案例(秦九韶算法)2021/7/2611.3算法案例(二)2021/7/2621.3算法案例(二)2021/7/262案例2秦九韶算法一、三維目標(a)知識與技能 了解秦九韶算法的計算過程,并理解利用秦九韶算法可以減少計算次數提高計算效率的實質。(b)過程與方法 模仿秦九韶計算方法,體會古人計算構思的巧妙.(c)情感態(tài)度與價值觀 通過對秦九韶算法的學習,了解中國古代數學家對數學的貢獻,充分認識到我國文化歷史的悠久。二、教學重難點重點:1.秦九韶算法的特點;難點:2.秦九韶算法的先進性理解.2021/7/263案例2秦九韶算法一、三維目標2021/7/263〖教學設計〗[問題1]設計求多項式f(x)=2x5-5x4-4x3+3x2-6x+7當x=5時的值的算法,并寫出程序.x=5f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7PRINTfEND程序

點評:上述算法一共做了15次乘法運算,5次加法運算.優(yōu)點是簡單,易懂;缺點是在計算x的冪值時重復計算,運算效率不高.2021/7/264〖教學設計〗[問題1]設計求多項式f(x)=2x5-5x4-的值,這樣計算上述多項式的值,一共需要9次乘法運算,5次加法運算.[問題2]有沒有更高效的算法?

分析:計算x的冪時,可以利用前面的計算結果,以減少計算量,

即先計算x2,然后依次計算

第二種做法與第一種做法相比,乘法的運算次數減少了,因而能提高運算效率.而且對于計算機來說,做一次乘法所需的運算時間比做一次加法要長得多,因此第二種做法能更快地得到結果.2021/7/265的值,這樣計算上述多項式的值,一共需要9次乘法運算,5次加法[問題3]能否探索更好的算法,來解決任意多項式的求值問題?請欣賞下面的解法:f(x)=2x5-5x4-4x3+3x2-6x+7=(2x4-5x3-4x2+3x-6)x+7=((2x3-5x2-4x+3)x-6)x+7=(((2x2-5x-4)x+3)x-6)x+7=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,當x=5時,多項式的值是2677.這種求多項式值的方法就叫秦九韶算法.2021/7/266[問題3]能否探索更好的算法,來解決任意多項式的求值問題?請秦九韶(1208年-1261年)南宋官員、數學家,與李冶、楊輝、朱世杰并稱宋元數學四大家。主要成就:1247年完成了數學名著《數學九章》,其中的大衍求一術、三斜求積術和秦九韶算法是具有世界意義的重要貢獻。秦九韶算法就是中國古代數學的一枝奇葩。直到今天,這種算法仍是多項式求值比較先進的算法。美國著名科學史家薩頓說過,秦九韶是“他那個民族,他那個時代,并且確實也是所有時代最偉大的數學家之一”。

2021/7/267秦九韶(1208年-1261年)南例1:用秦九韶算法求多項式 f(x)=2x5-5x4-4x3+3x2-6x+7當x=5時的值.解:首先將原多項式改寫成如下形式: f(x)=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,當x=5時,多項式的值是2677.然后由內向外逐層計算一次多項式的值,即2021/7/268例1:用秦九韶算法求多項式所以,當x=2時,多項式的值是31.在上述運算中,總共用了6次乘法,6次加法所以,當x=2時,多項式的值為31.求多項式的值轉化為了求六個一次多項式的值。解:當x=2時的值時多項式的值。挑戰(zhàn)1:計算2021/7/269所以,當x=2時,多項式的值是31.在上述運算中,所以,當x挑戰(zhàn)2:用秦九韶算法求多項式f(x)=8x7+5x6+3x4+2x+1當x=2時的值.【解析】f(x)=8x7+5x6+3x4+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.當x=2時,有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=1397,∴當x=2時,多項式的值為1397.

注意:n次多項式有n+1項,因此缺少哪一項應將其系數補0.2021/7/2610挑戰(zhàn)2:用秦九韶算法求多項式f(x)=8x7+5x6+3x4(最新整理)算法案例(秦九韶算法)課件(最新整理)算法案例(秦九韶算法)課件v1=anx+an-1,v2=v1x+an-2,v3=v2x+an-3,……,vn=vn-1x+a0.

觀察上述秦九韶算法中的n個一次式,可見vk的計算要用到vk-1的值.若令v0=an,得v0=an,vK=vK-1x+an-k(k=1,2,……,n

這是一個在秦九韶算法中反復執(zhí)行的步驟,因此可用循環(huán)結構來實現(xiàn).2021/7/2613v1=anx+an-1,v2=v1x+an-2,v3=v2x(最新整理)算法案例(秦九韶算法)課件

點評:秦九韶算法是求一元多項式的值的一種方法.

它的特點是:把求一個n次多項式的值轉化為求n個一次多項式的值,通過這種轉化,把運算的次數由1+2+3+4+5+...+n次乘法運算和n次加法運算,減少為n次乘法運算和n次加法運算,大大提高了運算效率.2021/7/2615 點評:秦九韶算法是求一元多項式的值的一種方法.2021/7知識探究(二):秦九韶算法的程序設計

思考1:用秦九韶算法求多項式的值,可以用什么邏輯結構來構造算法?其算法步驟如何設計?第一步,輸入多項式的次數n,最高次 項的系數an和x的值.

第二步,令v=an,i=n-1.

第三步,輸入i次項的系數ai.第四步,v=vx+ai,i=i-1.第五步,判斷i≥0是否成立.若是,則返回第 二步;否則,輸出多項式的值v.2021/7/2616知識探究(二):秦九韶算法的程序設計思考1:用秦九韶算法思考2:該算法的程序框圖如何表示?開始輸入n,an,x的值v=anv=vx+ai輸入aii≥0?i=n-1i=i-1結束是輸出v否2021/7/2617思考2:該算法的程序框圖如何表示?開始輸入n,an,x的值v思考3:該程序框圖對應的程序如何表述?開始輸入n,an,x的值v=anv=vx+ai輸入aii≥0?i=n-1i=i-1結束是輸出v否INPUT“n=”;nINPUT“an=”;aINPUT“x=”;xv=ani=n-1WHILEi>=0INPUT“ai=”;bv=v*x+bi=i-1

WENDPRINTyEND2021/7/2618思考3:該程序框圖對應的程序如何表述?開始輸入n,an,x的當堂檢測

:利用秦九韶算法計算

x=3時,求多項式f(x)=x5+x3+x2+x+1的值.解:根據秦九韶算法,把多項式改寫成如下形式:

f(x)=x5+0·x4+x3+x2+x+1=(((x+0)x+1)x+1)x+1)x+1.按照從內到外的順序,依次計算一次多項式當x=3時的值:v0=1,2021/7/2619當堂檢測:利用秦九韶算法計算當x=3時,求多項式v1=1×3+0=3,v2=3×3+1=10,v3=10×3+1=31,v4=31×3+1=94,v5=94×3+1=283.所以當x=3時,多項式的值為283.2021/7/2620v1=1×3+0=3,所以當x=3時,多項式的值為28小結作業(yè)

評價一個算法好壞的一個重要標志是運算的次數,如果一個算法從理論上需要超出計算機允許范圍內的運算次數,那么這樣的算法就只能是一個理論算法.在多項式求值的各種算法中,秦九韶算法是一個優(yōu)秀算法.2021/7/2621小結作業(yè)評價一個算法好壞的一個重要標志是運算的次數,2021/7/26222021/7/2622(最新整理)算法案例(秦九韶算法)2021/7/2623(最新整理)算法案例(秦九韶算法)2021/7/2611.3算法案例(二)2021/7/26241.3算法案例(二)2021/7/262案例2秦九韶算法一、三維目標(a)知識與技能 了解秦九韶算法的計算過程,并理解利用秦九韶算法可以減少計算次數提高計算效率的實質。(b)過程與方法 模仿秦九韶計算方法,體會古人計算構思的巧妙.(c)情感態(tài)度與價值觀 通過對秦九韶算法的學習,了解中國古代數學家對數學的貢獻,充分認識到我國文化歷史的悠久。二、教學重難點重點:1.秦九韶算法的特點;難點:2.秦九韶算法的先進性理解.2021/7/2625案例2秦九韶算法一、三維目標2021/7/263〖教學設計〗[問題1]設計求多項式f(x)=2x5-5x4-4x3+3x2-6x+7當x=5時的值的算法,并寫出程序.x=5f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7PRINTfEND程序

點評:上述算法一共做了15次乘法運算,5次加法運算.優(yōu)點是簡單,易懂;缺點是在計算x的冪值時重復計算,運算效率不高.2021/7/2626〖教學設計〗[問題1]設計求多項式f(x)=2x5-5x4-的值,這樣計算上述多項式的值,一共需要9次乘法運算,5次加法運算.[問題2]有沒有更高效的算法?

分析:計算x的冪時,可以利用前面的計算結果,以減少計算量,

即先計算x2,然后依次計算

第二種做法與第一種做法相比,乘法的運算次數減少了,因而能提高運算效率.而且對于計算機來說,做一次乘法所需的運算時間比做一次加法要長得多,因此第二種做法能更快地得到結果.2021/7/2627的值,這樣計算上述多項式的值,一共需要9次乘法運算,5次加法[問題3]能否探索更好的算法,來解決任意多項式的求值問題?請欣賞下面的解法:f(x)=2x5-5x4-4x3+3x2-6x+7=(2x4-5x3-4x2+3x-6)x+7=((2x3-5x2-4x+3)x-6)x+7=(((2x2-5x-4)x+3)x-6)x+7=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,當x=5時,多項式的值是2677.這種求多項式值的方法就叫秦九韶算法.2021/7/2628[問題3]能否探索更好的算法,來解決任意多項式的求值問題?請秦九韶(1208年-1261年)南宋官員、數學家,與李冶、楊輝、朱世杰并稱宋元數學四大家。主要成就:1247年完成了數學名著《數學九章》,其中的大衍求一術、三斜求積術和秦九韶算法是具有世界意義的重要貢獻。秦九韶算法就是中國古代數學的一枝奇葩。直到今天,這種算法仍是多項式求值比較先進的算法。美國著名科學史家薩頓說過,秦九韶是“他那個民族,他那個時代,并且確實也是所有時代最偉大的數學家之一”。

2021/7/2629秦九韶(1208年-1261年)南例1:用秦九韶算法求多項式 f(x)=2x5-5x4-4x3+3x2-6x+7當x=5時的值.解:首先將原多項式改寫成如下形式: f(x)=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,當x=5時,多項式的值是2677.然后由內向外逐層計算一次多項式的值,即2021/7/2630例1:用秦九韶算法求多項式所以,當x=2時,多項式的值是31.在上述運算中,總共用了6次乘法,6次加法所以,當x=2時,多項式的值為31.求多項式的值轉化為了求六個一次多項式的值。解:當x=2時的值時多項式的值。挑戰(zhàn)1:計算2021/7/2631所以,當x=2時,多項式的值是31.在上述運算中,所以,當x挑戰(zhàn)2:用秦九韶算法求多項式f(x)=8x7+5x6+3x4+2x+1當x=2時的值.【解析】f(x)=8x7+5x6+3x4+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.當x=2時,有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=1397,∴當x=2時,多項式的值為1397.

注意:n次多項式有n+1項,因此缺少哪一項應將其系數補0.2021/7/2632挑戰(zhàn)2:用秦九韶算法求多項式f(x)=8x7+5x6+3x4(最新整理)算法案例(秦九韶算法)課件(最新整理)算法案例(秦九韶算法)課件v1=anx+an-1,v2=v1x+an-2,v3=v2x+an-3,……,vn=vn-1x+a0.

觀察上述秦九韶算法中的n個一次式,可見vk的計算要用到vk-1的值.若令v0=an,得v0=an,vK=vK-1x+an-k(k=1,2,……,n

這是一個在秦九韶算法中反復執(zhí)行的步驟,因此可用循環(huán)結構來實現(xiàn).2021/7/2635v1=anx+an-1,v2=v1x+an-2,v3=v2x(最新整理)算法案例(秦九韶算法)課件

點評:秦九韶算法是求一元多項式的值的一種方法.

它的特點是:把求一個n次多項式的值轉化為求n個一次多項式的值,通過這種轉化,把運算的次數由1+2+3+4+5+...+n次乘法運算和n次加法運算,減少為n次乘法運算和n次加法運算,大大提高了運算效率.2021/7/2637 點評:秦九韶算法是求一元多項式的值的一種方法.2021/7知識探究(二):秦九韶算法的程序設計

思考1:用秦九韶算法求多項式的值,可以用什么邏輯結構來構造算法?其算法步驟如何設計?第一步,輸入多項式的次數n,最高次 項的系數an和x的值.

第二步,令v=an,i=n-1.

第三步,輸入i次項的系數ai.第四步,v=vx+ai,i=i-1.第五步,判斷i≥0是否成立.若是,則返回第 二步;否則,輸出多項式的值v.2021/7/2638知識探究(二):秦九韶算法的程序設計思考1:用秦九韶算法思考2:該算法的程序框圖如何表示?開始輸入n,an,x的值v=anv=vx+ai輸入aii≥0?i=n-1i=i-1結束是輸出v否2021/7/2639思考2:該算法的程序框圖如何表示?開始輸入n,an,x的值v思考3:該程序框圖對應的程序如何表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論