




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.把一個n次多項式f(x)=anxn+an-1xn-1+…+a1x+a0改寫成如下形式:f(x)=anxn+an-1xn-1+…+a1x+a0=(anxn-1+an-1xn-2+…+a1)x+a0=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0=…=(…((anx+an-1)x+an-2)x+…+a1)x+a0求多項式的值時,首先計算最內層括號內一次多項式的值,然后由內向外逐層計算一次多項式的值.這樣通過一次式的反復運算,逐步得出高次多項式的值的方法稱作 .秦九韶算法2.進位制是人們為了計數和運算方便而約定的記數系統.“滿十進一”就是十進制,“滿二進一”就是二進制,“滿k進一”就是
,k進制的基數是k,因此k進制需要使用
數字.3.若k是一個大于1的整數,以k為基數的k進制數可以表示為一串數字連寫在一起的形式:anan-1…a1a0(k)(0<an<k,0≤an-1,…,a1,a0<k)其中右下角括號內的數字k表明此數是k進制數,十進制的基數不標注.k進制k個4.十進制數與k進制數可以相互轉換(1)把k進制數化為十進制數的方法是:先把這個k進制數寫成用各位上的數字與k的冪的乘積之和的形式,再按照十進制數的運算規則計算出結果.如anan-1…a2a1a0(k)=
.其中要注意的是,k的冪的最高次數應是該k進制的位數減去1,然后逐個減小1,最后是0次冪.(2)將十進制化為k進制數的方法叫 .即用k連續去除該十進制數或所得的商,直到商是零為止,然后把每次所得的余數倒著排成一列,就是相應的k進制數.例如,把十進制數化為二進制數的方法是除2取余法.an×kn+an-1×kn-1+…+a2×k2+a1×k+a0除k取余法重點:(1)秦九韶算法的原理、算法思想、算法設計.(2)進位制的概念及其表示,進位制的相互轉換及算法設計.難點:(1)遞推關系的算法設計.(2)k進制數表示方法的理解及k進制數與十進制數之間相互轉換.(2)f(x)=anxn+an-1xn-1+…+a1x+a0當x=x0時,求函數值f(x0)的算法設計.程序框圖:程序語句:INPUT
“n=”;n
i=0WHILE
i<=nINPUT
“ai=”;a(i)
i=i+1WENDINPUT
“x0=”;x
i=1
v=a(n)WHILE
i<=n
v=v*x+a(n-i)
i=i+1WENDPRINT
vEND.說明:也可以把輸入f(x)的系數ak,放在循環體內,用一次循環實現.INPUT
“n,an,x=”;n,v,xi=n-1WHILE
i>=0INPUT
“ai=”;av=v*x+ai=i-1WENDPRINT
vEND2.進位制的理解與程序設計(1)進位制及其轉換是計算機的基礎知識,它有助于了解計算機的工作原理,要切實弄明白.(2)二進制數只用0和1兩個數字,這正好和電路的“通”和“斷”兩種狀態相對應,因此計算機內部都使用二進制,計算機在進行運算時,都是先將輸入的十進制數轉化為二進制數進行運算和存儲后,再轉換為十進制數輸出.(3)k進制數轉換為十進制數的方法是:anan-1…a2a1a0(k)=an×kn+an-1×kn-1+…+a2×k2+a1×k+a0我們用t=aMOD10來求k進制數a除以10的余數即此數的個位,用a=a\10來記錄a除以10的整數商.故把k進制數a(共有n位)轉化為十進制數b的算法程序為:INPUT
“a,k,n=”;a,k,n
i=1
b=0t=aMOD10DOb=b+t*k^(i-1)a=a\10t=aMOD10i=i+1LOOPUNTIL
i>nPRINT
bEND其當型循環程序為:INPUT
“a,k,n=”;a,k,ni=1b=0t=aMOD10WHILE
i<=nb=b+t*k^(i-1)a=a\10t=aMOD10i=i+1WENDPRINT
bEND程序框圖依據此程序:第1輪(i=1)循環結束時b=a0.第2輪(i=2)循環結束時b=a1k+a0.…第j輪(i=j)循環結束時,b=aj-1kj-1+aj-2kj-2+…+a1k+a0.最后結束時,b=ankn+an-1kn-1+…+a1k+a0.(4)將一個十進制數a化為k進制數b的步驟:第一步:將給定的十進制整數除以基數k,余數便是等值的k進制的最低位.第二步:將上一步的商再除以基數k,余數便是等值的k進制數的次低位.第三步:重復第二步,直到最后所得的商等于0為止.各次除得的余數,便是k進制各位的數,最后一次的余數是最高位.即除k取余法.算法程序為:INPUT
“a,k=”;a,kb=0i=0DOq=a\kr=aMODkb=b+r*10^ii=i+1a=qLOOPUNTIL
q=0PRINT
bEND用WHILE語句編程如下:(1)十進制數a化為k進制數b的程序語句.INPUT
“a,k=”;a,kb=0i=0q=1WHILE
q<>0q=a\k
←求a除以k的整數商r=aMODk
←求a除以k的余數b=b+r*10^i
←把余數依次從右到左排列得 到k進制數bi=i+1a=qWENDPRINT
bEND(5)k進制數的性質:①在k進制中,具有k個數字符號;例如十進制,有0,1,2,3,4,5,6,7,8,9十個數字.十六進制有0~9和A、B、C、D、E、F共十六個數字.②在k進制中,由低位向高位是按“逢k進一”的規則進行計數.例如十進制,逢“十”進一,二進制逢“二”進一.(6)非十進制數之間的轉化一般應先轉化成十進制數,再將這個十進制數轉化為要化成的另一種進位制數.
[例1]
用秦九韶算法求多項式f(x)=1+x+0.5x2+0.16667x3+0.04167x4+0.00833x5在x=-0.2時的值.
[解析]
可根據秦九韶算法原理,將所給多項式改寫,然后由內到外逐次計算即可.f(x)=1+x+0.5x2+0.16667x3+0.04167x4+0.00833x5=((((0.00833x+0.04167)x+0.16667)x+0.5)x+1)x+1,而x=-0.2,所以有v0=a5=0.00833,v1=v0x+a4=0.04,v2=v1x+a3=0.15867,v3=v2x+a2=0.46827,v4=v3x+a1=0.90635,v5=v4x+a0=0.81873.即f(-0.2)=0.81873.[點評]利用秦九韶算法計算多項式的值,關鍵是能正確地將所給多項式改寫,然后由內向外逐次計算,由于后項計算需用前項的結果,故應認真、細心,確保中間結果的準確性.求多項式f(x)=x5+5x4+10x3+10x2+5x+1當x=-2時的值.[解析]
先改寫多項式,再由內向外計算.f(x)=x5+5x4+10x3+10x2+5x+1=((((x+5)x+10)x+10)x+5)x+1.而x=-2,所以有:v0=1,v1=v0x+a4=1×(-2)+5=3,v2=v1x+a3=3×(-2)+10=4,v3=v2x+a2=4×(-2)+10=2,v4=v3x+a1=2×(-2)+5=1,v5=v4x+a0=1×(-2)+1=-1.即f(-2)=-1.[例2]
1.把二進制數1110011(2)化為十進制數.2.將8進制數314706(8)化為十進制數,并且編寫一個實現該算法的程序.[解析]
1.先把二進制數寫成不同位上數字與2的冪的乘積之和的形式,再按照十進制數的運算規則求出結果1110011(2)=1×26+1×25+1×24+0×23+0×22+1×21+1=115.2.利用把k進制數化為十進數的一般方法就可以將8進制數314706(8)化為十進制數,然后根據該算法,應用循環結構可以設計程序.314706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104902.所以,化為十進制數是104902.8進制數314706(8)中共有6位,因此可令a=314706,k=8,n=6,設計程序如下:程序運行時輸入314706,8,6.[點評]
上述程序可以把任何一個k進制數a(共有n位)轉化為十進制數b,只要輸入相應的a,k,n的值即可.把7進制數24005(7)化為十進制數的結果為________.[答案]
2401[解析]
只需將該數寫成其各位上的數字與7的冪的乘積之和的形式,再計算即可化為十進制數.24005(7)=2×74+4×73+0×72+0×71+5=2401,故七進制數24005(7)化成十進制數為2401.[例3]
1.把十進制數89化為二進制數.2.將十進制數21化為五進制數.[解析]
1.根據“滿二進一”的原則,可以用2連續去除89或所得商,然后取余數—即除2取余法.用豎式表示為:∴89=1×26+0×25+1×24+1×23+0×22×0×21+1×20=1011001(2)2.同1用除5取余法可得:
將十進制數22化為三進制數,并且編寫一個實現該算法的程序.[解析]
用除3取余法可得:此算法程序為:(把十進制數a化為k進制數)INPUT
a,ki=0b=0DOc=a\kr=aMODkb=b+r*10^ii=i+1a=cLOOPUNTIL
c=0PRINTbEND運行時,輸入a=22,k=3.[例4]用秦九韶算法求多項式f(x)=8x7+5x6+3x4+2x+1當x=2時的函數值f(2).[解析]
本例中,有幾項不存在,可視這些項的系數為0,如含x5的項可記作0·x5.∴f(x)=8x7+5x6+0·x5+3x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)·x+3)·x+0)·x+0)·x+2)x+1按照由內及外的順序,依次計算一次多項式當x=2時的值:v0=8;v4=87×2+0=174;v1=8×2+5=21;v5=174×2+0=348;v2=21×2+0=42;v6=348×2+2=698;v3=42×2+3=87;v7=698×2+1=1397.∴f(2)=1397.[例5]將五進制數434化為二進制數.[解析]
先將五進制數化為十進制數.434(5)=4×52+3×51+4×50=119,再將十進制數119化為二進制數.則119=1110111(2)所以434(5)=1110111(2)[點評]
1.k進制之間相互轉化可以借助十進制作跳板來進行.2.將十進制與k進制相互轉換的算法結合在一塊,就能實現非十進制數之間的轉換了.一、選擇題1.三位七進制最大的數表示的十進制的數是(
)A.322
B.332C.342 D.352[答案]
C[解析]
三位七進制數中最大的為666(7)=6×72+6×7+6=342.2.下列各數轉化成十進制后最小的數是(
)A.111111(2) B.210(6)C.1000(4) D.81(9)[答案]
A[解析]
將它們都化為十進制數為:A表示63,B表示78,C表示64,D表示73.3.已知一個k進制的數132與十進制的數30相等,那么k等于(
)A.-7或4 B.-7C.4 D.都不對[答案]
C[解析]
由k2+3k+2=30得,k=4或k=-7(舍去).4.類似于十進制中逢10進1,十二進制的進位原則是逢12進1,采用數字0,1,2,…,9和字母M,N共12個計數符號,這些符號與十進制的對應關系如下表:十二進制0123456789MN十進制01234567891011例如,由于563=3×122+10×12+11,所以十進制中563在十二進制中就被表示為3MN,那么十進制中的2010在十二進制中被表示為(
)A.11N6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康促進教學課件
- 天宮課堂互動活動方案
- T/ZHCA 102-2020體重控制人群用營養代餐食品
- 我的媽媽課件分享
- 2025遼陽職業技術學院輔導員考試試題及答案
- 2025蘇州幼兒師范高等專科學校輔導員考試試題及答案
- 2025甘肅交通職業技術學院輔導員考試試題及答案
- 媽媽生日慶祝活動策劃方案
- 網絡工程畢業設計
- 創意寫作考試試卷及答案2025年
- 第七講-氣流干燥系統設計特點
- 錨桿(土釘)鉆孔施工記錄
- 水陸兩用挖掘機安全操作保養規程
- 橡塑保溫管施工方案
- 人力資源管理學習通章節答案期末考試題庫2023年
- 貴州省醫療服務項目收費標準
- 病原學標本采集與送檢規范
- 黑河學院輔導員考試題庫
- 抖音運營工作計劃模版(3篇)
- 顯微鏡望遠鏡的設計與組裝
- 中石油職稱英語通用教材
評論
0/150
提交評論