課程設(shè)計(jì)報(bào)告表達(dá)式類(lèi)型的實(shí)現(xiàn)方銳洲_第1頁(yè)
課程設(shè)計(jì)報(bào)告表達(dá)式類(lèi)型的實(shí)現(xiàn)方銳洲_第2頁(yè)
課程設(shè)計(jì)報(bào)告表達(dá)式類(lèi)型的實(shí)現(xiàn)方銳洲_第3頁(yè)
課程設(shè)計(jì)報(bào)告表達(dá)式類(lèi)型的實(shí)現(xiàn)方銳洲_第4頁(yè)
課程設(shè)計(jì)報(bào)告表達(dá)式類(lèi)型的實(shí)現(xiàn)方銳洲_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告表達(dá)式類(lèi)型的實(shí)現(xiàn)方銳洲課程設(shè)計(jì)表示式類(lèi)型的實(shí)現(xiàn)學(xué)院計(jì)算機(jī)學(xué)院專(zhuān)業(yè)計(jì)算機(jī)科學(xué)與技術(shù)年級(jí)班別級(jí)01班學(xué)號(hào)學(xué)生姓名方銳洲輔導(dǎo)教師 吳偉民成績(jī)表示式類(lèi)型的實(shí)現(xiàn)目錄: TOC o 1-5 h z 一、 需求分析3二、 概要設(shè)計(jì)3-61、數(shù)據(jù)類(lèi)型的聲明:2、表示式的抽象數(shù)據(jù)類(lèi)型定義3、整體設(shè)計(jì)三、詳細(xì)設(shè)計(jì)7-131、二叉樹(shù)的存儲(chǔ)類(lèi)型2、順序棧的存儲(chǔ)類(lèi)型3、表示式的基本操作4、主程序和其它偽碼算法5、函數(shù)的調(diào)用關(guān)系 TOC o 1-5 h z 四、 設(shè)計(jì)和調(diào)試分析14五、 用戶手冊(cè)14六、 測(cè)試15-18七、課程設(shè)計(jì)的心得和心得以及問(wèn)題-18八、 參考文獻(xiàn)19九、 附錄:程序清單19-35一、需

2、求分析【課程設(shè)計(jì)要求】【問(wèn)題的描述】一個(gè)表示式和一棵二叉樹(shù)之間,存在著自然的對(duì)應(yīng)關(guān)系。寫(xiě)一 個(gè)程序,實(shí)現(xiàn)基于二叉樹(shù)表示的算術(shù)表示式Expression的操作?!净疽蟆俊疽弧俊颈刈霾糠帧考僭O(shè)算術(shù)表示式Expression內(nèi)能夠含有變量(a-z),常量(0- 9)和二元運(yùn)算符(+,-,*,/,八(乘幕)。實(shí)現(xiàn)以下操作:ReadExpr(E)-一以字符序列的形式輸入語(yǔ)法正確的前綴表 示式并構(gòu)造表示式E。WriteExpr(E)-用帶括號(hào)的中綴表示式輸出表示式E。Assign(V,c)實(shí)現(xiàn)對(duì)變量V的賦值(V=c),變量的初 值為0。 Value(E)對(duì)算術(shù)表示式E求值。(5 ) CompoundE

3、xpr(p,E1,E2)構(gòu)造一個(gè)新 的復(fù)合表示式(E1) p (E2)?!径俊具x做部分】以表示式的原書(shū)寫(xiě)形式輸入,支持大于0的正整數(shù)常量;增加常數(shù)合并操作MergeConst(E)合并表示式E中所有 常數(shù)運(yùn)算。例如,對(duì)表示式E=(2+3-a)*(b+3*4)進(jìn)行合并常數(shù)的操 作后,求得 E=(5-a)*(b+12)【測(cè)試數(shù)據(jù)】1)分別輸 入 0 ; a;-91;+a*bc;+*5x2*8x;+*3八*2八x2x6 并輸 出。2)每當(dāng)輸入一個(gè)表示式后,對(duì)其中的變量賦值,然后對(duì)表示 式求值。3)還有很多測(cè)試的數(shù)據(jù),詳細(xì)請(qǐng)見(jiàn)附上的文件Test.txto二、概要設(shè)計(jì)1、數(shù)據(jù)類(lèi)型的聲明:在這個(gè)課程設(shè)計(jì)

4、中,采用了鏈表二叉樹(shù)的存儲(chǔ)結(jié)構(gòu),以及兩個(gè)順序棧的輔助存儲(chǔ)結(jié)構(gòu)/*頭文件以及存儲(chǔ)結(jié)構(gòu)*/#include#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW 0typedef int Status;2、表示式的抽象數(shù)據(jù)類(lèi)型定義ADT Expression(數(shù)據(jù)對(duì)象D: D是具有數(shù)值的常量C和沒(méi)有數(shù)值的變量V;數(shù)據(jù)關(guān)系:R=|V,Ce D, 表示由運(yùn)算符P結(jié)合起來(lái)的表示式E基本操作:Status Input_Expr(&string,flag)操作結(jié)果:以字符

5、序列的形式輸入語(yǔ)法正確的前綴表示式,保存到字符串string;參數(shù)flag表示輸出的提示信息是什么,輸入成功返回OK,否則,返回ERRORovoid judge_value(&E,&string,i)初始條件:樹(shù)E存在,表示式的前綴字符串string存在;操作結(jié)果:判斷字符stringi,如果是0-9常量之間,二叉樹(shù)結(jié)點(diǎn)E存為整型;否則,存為字符型。Status ReadExpr(&E,&exprstring)初始條件:表示式的前綴形式字符串exprstring存在;操作結(jié)果:以正確的前綴表示式exprstring并構(gòu)造表示式E,構(gòu)造成功,返回OK,否則返回ERRORoStatus Pri_C

6、ompare(c1,c2)初始條件:c1和c2是字符;操作結(jié)果:如果兩個(gè)字符是運(yùn)算符,比較兩個(gè)運(yùn)算符的優(yōu)先級(jí),c1比c2優(yōu)先,返回OK,否則返回ERRORovoid WriteExpr(&E)初始條件:表示式E存在;操作條件:用帶括弧的中綴表示式輸入表示式E。void Assign(&E,V,c,&flag)初始條件:表示式E存在,flag為標(biāo)志是否有賦值過(guò); 操作結(jié)果:實(shí)現(xiàn)對(duì)表示式E中的所有變量V的賦值(V=c)olong Operate(opr1,opr,opr2)初始條件:操作數(shù)oprl和操作數(shù)opr2以及操作運(yùn)算符opr;操作結(jié)果:運(yùn)算符運(yùn)算求值,參數(shù)opr1,opr2為常量, opr為運(yùn)算符,根據(jù)不同的運(yùn)算符,實(shí)現(xiàn)不同的運(yùn)算,返 回運(yùn)算結(jié)果。Status Check(E)初始條件:表示式E存在;操作結(jié)果:檢查表示式E是否還存在沒(méi)有賦值的變量,以便求算數(shù)表示式E的值。long Value(E)初始條件:表示式E存在;操作結(jié)果:對(duì)算術(shù)表示式求值,返回求到的結(jié)果。void Compo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論