線性表課程設(shè)計(jì)_第1頁
線性表課程設(shè)計(jì)_第2頁
線性表課程設(shè)計(jì)_第3頁
線性表課程設(shè)計(jì)_第4頁
線性表課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

課程設(shè)計(jì)報(bào)告課程名稱:數(shù)據(jù)結(jié)構(gòu)題目:一元多項(xiàng)式的操作院(系)軟件學(xué)院專業(yè)班級:姓名:學(xué)號:指導(dǎo)教師: 2013年12月18日一、課程設(shè)計(jì)(論文)題目問題描述:設(shè)計(jì)一個(gè)一元稀疏多項(xiàng)式簡單計(jì)算器。二、 本次課程設(shè)計(jì)(論文)應(yīng)達(dá)到的目的數(shù)據(jù)結(jié)構(gòu)是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰容^規(guī)范的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對于學(xué)生基本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。本題目要達(dá)到目的:熟練掌握數(shù)組、鏈表的各種應(yīng)用。三、 本次課程設(shè)計(jì)(論文)任務(wù)的主要內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)要求等)[基本要求](1)輸入并建立多項(xiàng)式;(3) 多項(xiàng)式a和b相加,建立多項(xiàng)式a+b;(4) 多項(xiàng)式a和b相減,建立多項(xiàng)式a-b;目錄TOC\o"1-5"\h\z\o"CurrentDocument"一?問題描述 1\o"CurrentDocument"需求分析 1\o"CurrentDocument"三?概要設(shè)計(jì) 2\o"CurrentDocument"詳細(xì)設(shè)計(jì) 3\o"CurrentDocument"使用說明 21數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 元稀疏多項(xiàng)式簡單計(jì)算器一、問題描述1、 基本要求(1)輸入并建立多項(xiàng)式;多項(xiàng)式a和b相加,建立多項(xiàng)式a+b;多項(xiàng)式a和b相減,建立多項(xiàng)式a-b;2、 設(shè)計(jì)目的數(shù)據(jù)結(jié)構(gòu)是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰容^規(guī)范的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對于學(xué)生基本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用二、需求分析1、 設(shè)計(jì)開發(fā)環(huán)境:軟件方面:系統(tǒng)windowsxp 編程軟件:VC++6.02、 思路分析:一般情況下的一元n次多項(xiàng)式可寫成pn(x)=plxel+p2xe2+ +pmxem其中,p1是指數(shù)為ei的項(xiàng)的非零系數(shù),且滿足0Wel<e2< <em=n,若用一個(gè)長度為m且每個(gè)元素有兩個(gè)數(shù)據(jù)項(xiàng)(系數(shù)項(xiàng)和指數(shù)項(xiàng))的線性表((p1,e1),(p2,e2), ,(pm,em))便可惟一確定多項(xiàng)式pn(x)。用兩個(gè)帶表頭結(jié)點(diǎn)的單鏈表分別存儲兩個(gè)多項(xiàng)式根據(jù)一元多項(xiàng)式相加的運(yùn)算規(guī)則:對于兩個(gè)一元多項(xiàng)式中所有指數(shù)相同的項(xiàng),對應(yīng)系數(shù)相加,若其和不為零,則構(gòu)成“和多項(xiàng)式”中的一項(xiàng);只需要將第二個(gè)多項(xiàng)式的系數(shù)改為其相反數(shù),然后根據(jù)一元多項(xiàng)式相加的運(yùn)算規(guī)則便可以得到其相應(yīng)的“差多項(xiàng)式”三、概要設(shè)計(jì)圖3-1功能模塊圖

為實(shí)現(xiàn)上述程序功能,用帶表頭結(jié)點(diǎn)的單鏈表存儲多項(xiàng)式。元素類型,節(jié)點(diǎn)類型,和指針類型:typedefstructPolynomialintcoe;〃系數(shù)intexp;//指數(shù)structPolynomial*next;}*Polyn,Polynomial;

各個(gè)模塊之間的調(diào)用如圖3-1所示,調(diào)用insert()函數(shù)將輸入的多項(xiàng)式按降幕排列,通過主函數(shù)main()中swith語句,選擇用戶所選擇的對應(yīng)的模塊,然后又模塊對應(yīng)的功能函數(shù)對用戶輸入的數(shù)據(jù)進(jìn)行相應(yīng)的操作,最后通過OutputList模塊將最后結(jié)果輸出。四、詳細(xì)設(shè)計(jì) Q開始運(yùn)行]圖4-1功能實(shí)現(xiàn)流程圖4.1輸入模塊用戶可通過本模塊來輸入一個(gè)多項(xiàng)式,在每次輸入一個(gè)多項(xiàng)式時(shí),本模塊會先判斷誰否是第一次輸入,如果是,創(chuàng)建節(jié)點(diǎn),如果不是則模塊會通過判斷本次輸入的數(shù)的指數(shù)與第一項(xiàng)輸入的指數(shù)的大小,如果第一項(xiàng)的指數(shù)較大,則剛輸入的這一項(xiàng)繼續(xù)與第二項(xiàng)比較指數(shù),以此類推,如果發(fā)現(xiàn)剛輸入的這一項(xiàng)的指數(shù)比比較的這一項(xiàng)的指數(shù)要大,則插入比較項(xiàng)的前面。4.2求和、差模塊

用戶通過本模塊可以實(shí)現(xiàn)兩個(gè)多項(xiàng)式的求和或差值,此模塊先調(diào)用輸入模塊,進(jìn)行對兩個(gè)要運(yùn)算的多項(xiàng)式進(jìn)行初始化,并按降幕排列。然后將兩個(gè)多項(xiàng)式的幕進(jìn)行一個(gè)對比,如果第一個(gè)數(shù)的第一項(xiàng)的系數(shù)大于第二個(gè)多項(xiàng)式的第一個(gè)項(xiàng)的系數(shù),那么直接將第一項(xiàng)賦值于剛開始創(chuàng)建的鏈表的第一項(xiàng),作為答案的最后一項(xiàng),反之亦然,如果第一個(gè)數(shù)的第一項(xiàng),與第二個(gè)數(shù)的第一項(xiàng)的系數(shù)相同,那么將兩個(gè)數(shù)的系數(shù)與指數(shù)分別相加或者相減并將對應(yīng)值賦值給答案相對應(yīng)的項(xiàng)。以此類推。最后有輸出模塊輸出最后答案。五、使用說明先從鍵盤輸入多項(xiàng)式a和b的項(xiàng)數(shù),然后再輸入系數(shù)和指數(shù),如下圖:諭與指數(shù)二:2:1系數(shù)與指數(shù)::21222頁頁婁頁而婁JI旨I工旨勺1諭與指數(shù)二:2:1系數(shù)與指數(shù)::21222頁頁婁頁而婁JI旨I工旨勺1扌內(nèi)?1扌?.&第汕第膏佳黑請注累按照菜單中的12,3,4進(jìn)行操作;執(zhí)行操作為:1,輸出多項(xiàng)式,如下圖:〔=回,亟*"“D:謐據(jù)結(jié)構(gòu)\2—元寥項(xiàng)式的操作\云寥項(xiàng)式\云寥項(xiàng)式(改一簡)〔=回,亟*1?輸岀多項(xiàng)式a和h2.建立多項(xiàng)式a+h3.建立多項(xiàng)式a-h4.退岀斗/切一如:.斗..■■■■斗/切一如:.斗..■■■■乍斗?..,.斗?.....乍行項(xiàng)項(xiàng)行1X2請佳累請性累si12XA2請佳累請性累si12XA22:3XA2執(zhí)行操作為:2,建立多項(xiàng)式a+b,如下圖:"D:儼垢結(jié)構(gòu)\2—元寥項(xiàng)式的操作\三寡項(xiàng)式\一元寥項(xiàng)式(改一簡).exe"快鬻跚負(fù)數(shù)與指數(shù):12鮎鼬2§系數(shù)與指數(shù):22:21?輸岀多項(xiàng)式玄和b2.建立多項(xiàng)式玄+b3.建立多項(xiàng)式a-h4.退岀執(zhí)行操作為:3,建立多項(xiàng)式a-b,如下圖:D:儼犀議靠-元塞抵S;D:儼犀議靠-元塞抵S;霧卑辱縈參與指數(shù):12毒曇縈器與指數(shù):22請?jiān)罾壅埣牙??輸岀多項(xiàng)式玄和h2.建立多項(xiàng)式a+b3.建立多項(xiàng)式a-h4.退岀1X22:31X22:3:巧:-F:?切:?■■切:?斗/切:-斗/切'."斗..■■■■_tr“._f7“斗.-■■■b斗.-■■■■b斗..-■■■」二斗/斗/」二+」一一-」一一—^1_rtb—^Ta—^r-a■塞式善塞操行項(xiàng)項(xiàng)行項(xiàng)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論