版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1/1數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)說明書講解安徽理工高校
數(shù)據(jù)結(jié)構(gòu)
課程設(shè)計(jì)說明書題目:一元多項(xiàng)式計(jì)算
院系:計(jì)算機(jī)科學(xué)與工程學(xué)院
專業(yè)班級:數(shù)字媒體13-1班
學(xué)號:2023303102
同學(xué)姓名:錢福琛
指導(dǎo)老師:梁興柱
2023年1月9日
安徽理工高校課程設(shè)計(jì)(論文)任務(wù)書計(jì)算機(jī)科學(xué)與工程學(xué)院
2023年11月10日安徽理工高校課程設(shè)計(jì)(論文)成果評定表
名目
1問題描述
2功能描述
2.1課題要求
2.2軟件格式規(guī)定
3設(shè)計(jì)2
3.1相關(guān)函數(shù)介紹說明
3.2主程序的流程基函數(shù)調(diào)用說明
4程序設(shè)計(jì)4
4.1多項(xiàng)式存儲的實(shí)現(xiàn)
4.2加減乘除算法
4.2.1加法運(yùn)算的實(shí)現(xiàn)
4.2.2減法運(yùn)算的實(shí)現(xiàn)
4.2.3乘法運(yùn)算的實(shí)現(xiàn)
4.2.4除法運(yùn)算的實(shí)現(xiàn)
4.3函數(shù)調(diào)用關(guān)系圖
5運(yùn)行測試
1問題描述
1.1首先是確定結(jié)構(gòu)化程序設(shè)計(jì)的流程圖,利用已學(xué)過的數(shù)據(jù)結(jié)構(gòu)來構(gòu)造二個(gè)存儲多項(xiàng)式的結(jié)構(gòu),接著把輸入,加,減,乘,除運(yùn)算分成四個(gè)主要的模塊:實(shí)現(xiàn)多項(xiàng)式輸入模塊、實(shí)現(xiàn)加法的模塊、實(shí)現(xiàn)減法的模塊、實(shí)現(xiàn)乘法的模塊、實(shí)現(xiàn)除法的模塊.
2功能描述
2.1課題要求
A.支持一元多項(xiàng)式的運(yùn)算器
B.能夠正確輸入并顯示輸入多項(xiàng)式的每一項(xiàng)
C.要求將輸入的多項(xiàng)式F(X),G(X)可進(jìn)行加,減,乘,除運(yùn)算,并顯示結(jié)果
2.2軟件格式規(guī)定
A.輸入的形式:按程序菜單的數(shù)字選擇輸入,并按提示輸入多項(xiàng)式。根據(jù)(系數(shù)指數(shù))的格式進(jìn)行輸入并以輸入(00)作為結(jié)束輸入的掌握。
B.程序所能達(dá)到的功能:能夠進(jìn)行多項(xiàng)式的輸入,顯示,加,減,乘,除運(yùn)算。
C.輸出的形式:根據(jù)多項(xiàng)式的數(shù)學(xué)表達(dá)式的形式輸出,形如:
F(x)=X^2+2X^3-2X^4-3X^3-X^1+10
3設(shè)計(jì)
3.1相關(guān)函數(shù)介紹說明
(1)程序定義的數(shù)據(jù)結(jié)構(gòu)類型為線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)類型變量:
typedefstructlinknode
(2)程序定義的其它函數(shù):
linnode*Sort(linnode*S);
//多項(xiàng)式按指數(shù)從大到小排序
linnode*CreateList;
//創(chuàng)建多項(xiàng)式
VoidShowList(linnode*head);
//顯示多項(xiàng)式
linnode*Copy(linnode*copy);
//拷貝多項(xiàng)式(由于做減法運(yùn)算時(shí)會破壞原來輸入的多項(xiàng)式)linnode*SearchList(linnode*head,intx);
//查找函數(shù)
Linnode*Mulr(linnode*s,linnode*p)
//用一個(gè)節(jié)點(diǎn)去乘與一個(gè)多項(xiàng)式(幫助除法運(yùn)算)
Linnode*AddSame(linnode*head);
//和并多項(xiàng)式的同類項(xiàng)
linnode*Add(linnode*head1,linnode*head2);
//加法
linnode*Mul(linnode*head1,linnode*head2);
//乘法
linnode*Sub(linnode*head1,linnode*head2);
//減法
VoidDiv(linnode*head1,linnode*head2)
//除法
intmain
//主函數(shù)
3.2主程序的流程基函數(shù)調(diào)用說明
(1)主程序的簡要流程圖
圖1主程序流程圖
(2)各程序模塊之間的層次(調(diào)用)關(guān)系
①輸入模塊“CreateList”,首先按提示逐項(xiàng)輸入多項(xiàng)式的每一項(xiàng),當(dāng)接收到“00”時(shí)終止輸入,此時(shí)調(diào)用“Sort”進(jìn)行按指數(shù)降序排列后直接返回多項(xiàng)式的鏈表頭指針。
②加法運(yùn)算模塊“Add”,首先將兩個(gè)多項(xiàng)式連接成一個(gè)多項(xiàng)式,再調(diào)用“AddSame”函數(shù)進(jìn)行合并連接后的多項(xiàng)式的同類項(xiàng)并返回頭指針。
③減法運(yùn)算程序模塊“Sub()”,首先推斷多項(xiàng)式1是否為空,不為空時(shí)調(diào)用“SearchList”進(jìn)行查找操作,查找到的結(jié)果與多項(xiàng)式1作減法后刪除多項(xiàng)式2中查找到的對應(yīng)項(xiàng)。多項(xiàng)式2中剩余的項(xiàng)取反后連接到多項(xiàng)式1的尾部,再調(diào)用“AddSame”進(jìn)行合并同類項(xiàng)操作并返回頭指針。
④乘法運(yùn)算程序模塊“Mul()”,首先推斷輸入的多項(xiàng)式兩個(gè)不為空時(shí)進(jìn)行多項(xiàng)式相乘運(yùn)算,并將結(jié)構(gòu)存儲在新創(chuàng)建的多項(xiàng)式中。再調(diào)用“AddSame”進(jìn)行合并同類項(xiàng)后返回頭指針。
⑥除法運(yùn)算模塊“Div”,首先推斷第一個(gè)多項(xiàng)式的最高次數(shù)大于或等于其次多項(xiàng)式的最高次數(shù),然后再用第一個(gè)多項(xiàng)式的第一項(xiàng)去除于其次個(gè)多項(xiàng)式的第一項(xiàng),所得的商的第一項(xiàng),然后調(diào)用“Mulr”用商的第一項(xiàng)去乘其次個(gè)多項(xiàng)式,用第一個(gè)多項(xiàng)式減去乘得的多項(xiàng)式,所得的差多項(xiàng)式再與其次個(gè)多項(xiàng)式的最高指數(shù)項(xiàng)推斷。直到其次多項(xiàng)式的最高次數(shù)項(xiàng)大于與之推斷的多項(xiàng)式時(shí)結(jié)束運(yùn)算,并調(diào)用“ShowList”輸出相應(yīng)的結(jié)果。
⑥顯示函數(shù)“ShowList”,首先調(diào)用“Sort”進(jìn)行排序,再按格式輸出多項(xiàng)式的每一項(xiàng)。
4程序設(shè)計(jì)
4.1多項(xiàng)式存儲的實(shí)現(xiàn)
多項(xiàng)式是由若干項(xiàng)構(gòu)成的一個(gè)數(shù)學(xué)式子,其每一項(xiàng)包含系數(shù)與指數(shù)。然而我們可以把每一項(xiàng)看成是一個(gè)節(jié)點(diǎn),再由這些節(jié)點(diǎn)連接成多項(xiàng)式。依據(jù)所學(xué)數(shù)據(jù)結(jié)構(gòu),采納線性表的鏈?zhǔn)酱鎯泶鎯Χ囗?xiàng)式的每一個(gè)項(xiàng)的系數(shù)與指數(shù)。其結(jié)構(gòu)為:
4.2加減乘除算法
在多項(xiàng)式運(yùn)算的程序設(shè)計(jì)中,每一部分都會調(diào)用一些其它函數(shù)來幫助完成運(yùn)算(例如:對輸入的多項(xiàng)式進(jìn)行排序,查找,合并等),在這里主要說明加減乘除運(yùn)算的程序設(shè)計(jì),其它函數(shù)的程序設(shè)計(jì)和詳細(xì)調(diào)用關(guān)系請查看程序清單。
4.2.1加法運(yùn)算的實(shí)現(xiàn)
加法計(jì)算還是比較簡單實(shí)現(xiàn)的,將兩個(gè)傳遞過來的多項(xiàng)式鏈表進(jìn)行復(fù)制操作(加法運(yùn)算會破壞原來兩個(gè)鏈表的結(jié)構(gòu)),再將復(fù)制出來的兩鏈表進(jìn)行連接操作,即將第一個(gè)多項(xiàng)式鏈表的尾指針next指向其次個(gè)鏈表的第一個(gè)節(jié)點(diǎn),最終進(jìn)行合并同類項(xiàng)操作。
圖2加法運(yùn)算原理圖
對于加法運(yùn)算我們并不用考慮多項(xiàng)式是否為空的狀況,為空時(shí)連接后合并同類項(xiàng)處理后仍舊返回空的多項(xiàng)式。
4.2.2減法運(yùn)算的實(shí)現(xiàn)
圖3減法運(yùn)算原理圖
4.2.3乘法運(yùn)算的實(shí)現(xiàn)
圖4乘法運(yùn)算原理圖
4.2.4除法運(yùn)算的實(shí)現(xiàn)
圖5除法運(yùn)算原理圖
在程序設(shè)計(jì)時(shí)應(yīng)留意:
由于在輸入多項(xiàng)式的時(shí)候就調(diào)用了Sort函數(shù)進(jìn)行降序排序,因此在除法運(yùn)算時(shí)并不需要從新排序。
4.3函數(shù)調(diào)用關(guān)系圖
此函數(shù)調(diào)用關(guān)系圖主要描述了四則運(yùn)算的實(shí)現(xiàn)、取反及實(shí)現(xiàn)各運(yùn)算所要調(diào)用的函數(shù),詳情還請看程序清單。圖6函數(shù)調(diào)用關(guān)系圖
5運(yùn)行測試
圖7主界面效果圖
main選擇菜單
Add加法運(yùn)算Sub減法運(yùn)算Mul乘法運(yùn)算Copy備份
CreateList創(chuàng)建Sort排序AddSame合并
AddSame合并
SearchList搜尋節(jié)點(diǎn)
Copy備份AddSame合并Div除法運(yùn)算
Mulr
Negate取反
AddSame合并ShowList顯示輸出
Sort排序
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店管理晉升路徑
- 酒店管理工作目標(biāo)
- All Touch移動信息化管理平臺介紹課件
- 2025-2030全球動畫工作室行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國超細(xì)玻璃棉行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球機(jī)器人電子皮膚行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國光伏增效膜行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國近紅外(NIR)超透鏡行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國3D感知數(shù)智化解決方案行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球數(shù)字布局軟件行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年新能源汽車銷售傭金返點(diǎn)合同范本6篇
- 2025-2030年中國配電變壓器市場未來發(fā)展趨勢及前景調(diào)研分析報(bào)告
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗(yàn)
- 2025年上海市嘉定區(qū)中考英語一模試卷
- 潤滑油、潤滑脂培訓(xùn)課件
- 2025年中核財(cái)務(wù)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級第二次考試數(shù)學(xué)試題(含解析)
- ADA糖尿病醫(yī)學(xué)診療標(biāo)準(zhǔn)指南修訂要點(diǎn)解讀(2025)課件
- 健康管理-理論知識復(fù)習(xí)測試卷含答案
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會團(tuán)體 標(biāo)準(zhǔn)
- JGJ106-建筑基樁檢測技術(shù)規(guī)范
評論
0/150
提交評論