




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄一、設(shè)計目的1二、設(shè)計內(nèi)容11) 問題描述12) 基本要求11.需求分析12.問題求解13、總體設(shè)計34. 詳細設(shè)計45.調(diào)試與測試46.關(guān)鍵源程序清單4三、系統(tǒng)測試5四、 總結(jié)6五、 附件(系統(tǒng)測試的圖表)8多項式乘法的實現(xiàn)一、設(shè)計目的熟悉各種數(shù)據(jù)結(jié)構(gòu)和運算,會使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實際問題。二、設(shè)計內(nèi)容一元多項式乘法1) 問題描述已知A(x)=a0+a1x+a2x2+am xm和B(x)=b0+b1x+b2x2+bn xn,并且在A(x)和B(x)中指數(shù)相差很多,求A(x)=A(x)*B(x)。2) 基本要求(1)設(shè)計存儲結(jié)構(gòu)表示一元多項式;(2)設(shè)計算法實現(xiàn)一元多項式乘法;(
2、3)分析算法的時間復(fù)雜度和空間復(fù)雜度。1.需求分析程序是要完成兩個一元多項式乘法的功能。要求輸入兩個多項式中每個數(shù)據(jù)項的系數(shù)和指數(shù),從而得到一個新的多項式,這個多項式是輸入的兩個多項式的乘積。多項式的乘法規(guī)則:多次運用單項式與多項式相乘的法則得到的計算時(a+b)(m+n),先把(m+n)看成一個單項式,(a+b) 是一個多項式,運用單項式與多項式相乘的法則,得到(a+b)(m+n)=a(m+n)+b(m+n),然后再次運用單項式與多項式相乘的法則。2.問題求解 一元多項式的乘法是在初中學(xué)到的數(shù)學(xué)知識,我們當(dāng)時是這樣做 的:用第一個數(shù)據(jù)項的每一項去乘另一個多項式,得到的結(jié)果加起來, 然后合并同
3、類項,按照升序,或者降序的方法給得到的多項式進行排 序,這樣就得到了結(jié)果。 用數(shù)據(jù)結(jié)構(gòu)來解決這個問題的話,首先要設(shè)計多項式的存儲結(jié)構(gòu),然后設(shè)計算法 ,這個時候要注意的就是算法的時間復(fù)雜度和空間復(fù)雜 度。在本次實驗里,我用的是一維數(shù)組來表示一個一元多項式。其中數(shù)組中每個數(shù)據(jù)的下標(biāo)表示多項式中數(shù)據(jù)項的指數(shù),數(shù)據(jù)的值來表示 此數(shù)據(jù)項的系數(shù)。 通過分析多項式的特征,不難看出多項式是由單項式構(gòu)成的,而每個單項式都具有系數(shù)和指數(shù),當(dāng)系數(shù)為0時,該項就失去了意義, 在計算機內(nèi)要表示一個多項式,至少以下數(shù)據(jù)信息:系數(shù)信息、指數(shù)信息。 第一個問題就是要定義幾個數(shù)組,因為是要對兩個多項式計算乘積,所以,我定義了三
4、個數(shù)組,兩個數(shù)組表示要計算的兩個多項式, 第三個數(shù)組用來表示求得的數(shù)組。 第二個問題就是怎么定義數(shù)組的長度。為了便于驗證試驗,我給要輸入的兩個數(shù)組的長度分別定義為M、N,既它們的數(shù)據(jù)項中指數(shù)最兩個指數(shù)為M-1、N-1的數(shù)據(jù)項相乘,其結(jié)果數(shù)據(jù)項的指數(shù)為M+N-2,所以目標(biāo)多項式中出現(xiàn)的最大指數(shù)就是M+N-2,因此定義目標(biāo)數(shù)組的長 度為M+N-1(0M+N-1)。 第三個問題為了美觀,系數(shù)為0的數(shù)據(jù)項就不要顯示出來了。在 輸出結(jié)果時,用到一個條件結(jié)構(gòu)。只輸出系數(shù)不為0的數(shù)據(jù)項。 3、總體設(shè)計開始 輸入aM,bN 定義cM+N-1,且都初始化為0Cm+n=am+bn輸出cM+N-1結(jié)束4、 詳細設(shè)計
5、 用數(shù)組a表示第一個多項式,其中ai表示多項式A中的指數(shù)為m的系數(shù),數(shù)組b表示第二個多項式,其中bi表示多項式B中的指數(shù)為n的系數(shù)。A中指數(shù)為m的項與B中指數(shù)為n的項相乘,結(jié)果是得到指數(shù)為m+n的項,而且這個項的系數(shù)為am*bn.把這個系數(shù)保存在數(shù)組c的cm+n中。5.調(diào)試與測試方案一: 初始化兩個一元多項式的時候輸入幾個系數(shù)為0的數(shù)據(jù)項,檢驗程序是否正常運行。方案二: 初始化數(shù)組的時候,輸入負數(shù),檢驗程序是否出現(xiàn)錯誤。6.關(guān)鍵源程序清單源程序: #include #define M 2#define N 2void main()int aM,bN,cM+N-1; /ai表示多項式A中指數(shù)為i
6、的系數(shù)。printf(請輸入多項式A中依次的系數(shù)n); /*創(chuàng)建第一個多項式*/for (int i=0;iM;i+)scanf(%d,&ai); printf(多項式A為:A(X)=); /*打印第一個多項式*/for ( i=0;iM;i+) if(ai!=0) printf(%d*X%d+,ai,i); printf(n請輸入多項式B中依次的系數(shù)n); /*創(chuàng)建第二個多項式*/ for (int j=0;jN;j+) scanf(%d,&bj);printf(多項式B為:B(X)=); /*打印第二個多項式*/ for (int t=0;tN;t+) if(bt!=0) printf(%
7、d*X%d+,bt,t); /*初始化結(jié)果多項式*/ for ( i=0;iM+N-1;i+) ci=0; /*計算兩個多項式的乘積*/ for (int m=0;mM;m+) for (int n=0;nN;n+) cm+n=am*bn+cm+n;printf(n得出的兩個多項式的乘積為:n);printf(A(X)=A(X)*B(X)=n); /*打印出兩個多項式的乘積*/ for ( int v=0;vM+N-1;v+) if(cv!=0) printf(%d*X%d+,cv,v); printf(n); 三、系統(tǒng)測試 (見附件) 4、 總結(jié)通過這次課程設(shè)計,我感覺到要真正做出一個程序并
8、不很容易,但只要用心去做,總會有收獲,特別是當(dāng)我遇到問題,問老師,問同學(xué),去百度,想盡辦法去解決,最后終于找到方法時,心里的那份喜悅之情,成就之感真是難以形容.編寫程序中遇到問題再所難免,應(yīng)耐心探究其中的原因,從出現(xiàn)問題的地方起,并聯(lián)系前后程序,仔細推敲,逐個排查.直到最終搞清為止。 對于數(shù)據(jù)結(jié)構(gòu)有了更深層次的理解,循環(huán)隊列中對邊界條件的處理,滿足什么條件為隊滿,滿足什么條件為隊空。通過3周自己的學(xué)習(xí)和實踐操作,解決實際問題,讓我對數(shù)據(jù)結(jié)構(gòu)有了更深的了解,對數(shù)據(jù)結(jié)構(gòu)產(chǎn)生了濃厚的興趣,同時也讓我提高了解決實際問題的能力。我們要不斷的通過上機來提高自己的學(xué)習(xí)水平,在上機的同時改正了自己對某些算法的
9、錯誤使用,使自己在通過程序解決問題時抓住關(guān)鍵算法,有了算法設(shè)計思想和流程圖,并用C語言描繪出關(guān)鍵算法。以前我對數(shù)據(jù)結(jié)構(gòu)(C語言描述)的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還有對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認識有所提高。讓自己有一定的能力去改正一些常見的錯誤語法,很高興這段時間的學(xué)習(xí)讓我對數(shù)據(jù)結(jié)構(gòu)(C語言描述)有了新的認識,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便好地學(xué)好計算機。在這次課程設(shè)計的實驗中,我收獲了許多知識,通過查找大量資料,請教老師,以及不懈的努力,也培養(yǎng)了獨立思考、動手操作的能力。我也學(xué)會了許多學(xué)習(xí)和解決實際問題的方
10、法,讓我受益匪淺。課程設(shè)計對我來說,趣味性強,不僅鍛煉能力,而且可以學(xué)到很多東西,在與老師和同學(xué)的交流過程中,互動學(xué)習(xí),將知識融會貫通,也增強了我和同學(xué)之間的團隊合作的能力。讓我們知道只要努力,集中精力解決問題,一定會有收獲的,過程也是很重要的。在這次課程設(shè)計中我們要學(xué)會利用時間,在規(guī)定的時間內(nèi)完成我們的任務(wù),要逐漸養(yǎng)成用C語言編寫程序的良好習(xí)慣。這些對我來說都是一種鍛煉,一個知識積累的過程,一種能力的提高。要打好基礎(chǔ),才能用更好的辦法,更簡潔明了的程序解決實際問題,只有這樣才能進一步的取得更好的成績。我們會更加努力,努力的去彌補自己的缺點,發(fā)展自己的優(yōu)點,去充實自己,只有在了解了自己的長短之
11、后,我們會更加珍惜擁有的,更加努力的去完善它,增進它。雖然我現(xiàn)在的水平還很差,但我還會繼續(xù)努力的,在解決實際問題時如果遇到了難題,我們要學(xué)會去查找大量的有關(guān)這方面的資料,還要借助于網(wǎng)絡(luò)不斷擴大自己的知識面和閱讀量。這樣也可以鍛煉我們的自主學(xué)習(xí)能力和解決問題的能力,學(xué)到了許多以前沒學(xué)到的東西。在課程設(shè)計中的程序都比較復(fù)雜,所以需要我們要更加地細心,認真的完成每一步的操作,修改語法,按照老師的指導(dǎo)思想來完成。與此同時也讓我們增加了對程序和算法進一步理解??傊?,我學(xué)到了很多東西,很感謝學(xué)校給我們這樣一次鍛煉自我的機會,也很感謝老師的指導(dǎo)。5、 附件(系統(tǒng)測試的圖表)項數(shù)為2且部分系數(shù)為0時的測試結(jié)果: 圖2 運行結(jié)果圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)安全協(xié)議合同范本
- 共同經(jīng)營承包土地合同范本
- 2025年南陽道路運輸貨運考試題庫
- 2025年棗莊年貨運從業(yè)資格證考試題大全
- 包鋼供貨合同范本
- 別墅灌溉維修合同范本
- 倉庫道具租賃合同范本
- 加工車間機床承包合同范本
- 共同做模具合同范本
- 個人售房合同范本
- 14 文言文二則 學(xué)弈 教學(xué)設(shè)計-2024-2025學(xué)年語文六年級下冊統(tǒng)編版
- 統(tǒng)編版小學(xué)語文六年級下冊第四單元《理想和信念》作業(yè)設(shè)計
- 2025年度劇本殺劇本版權(quán)授權(quán)與收益分成合同
- 2025年春季學(xué)期學(xué)校工作計劃及安排表
- 2025年一種板式過濾膜裝置項目投資可行性研究分析報告
- BMS基礎(chǔ)知識培訓(xùn)
- 水刀除銹施工方案
- 英語-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2024年06月日照銀行社會招聘筆試歷年參考題庫附帶答案詳解
- 烤房租賃合同范例
- 第一課+追求向上向善的道德【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂(高教版2023·基礎(chǔ)模塊)
評論
0/150
提交評論