版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
算術(shù)表達(dá)式求值演示算術(shù)表達(dá)式求值演示算術(shù)表達(dá)式求值演示算術(shù)表達(dá)式求值演示編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:實(shí)習(xí)報(bào)告題目:算術(shù)表達(dá)式求值演示。需求分析1.以字符序列的形式從終端輸入語(yǔ)法正確的、不含變量的整數(shù)表達(dá)式。2.利用教科書表給出的算符優(yōu)先關(guān)系,實(shí)現(xiàn)對(duì)算數(shù)四則混合運(yùn)算表達(dá)式的求值。3.仿照教科書的例子在求值中運(yùn)用符棧、運(yùn)算數(shù)棧、輸入字符和主要操作的變化過(guò)程。4.程序執(zhí)行的命令包括:(1)構(gòu)造空棧;(2)判斷符號(hào)優(yōu)先級(jí);(3)判斷是否為七種運(yùn)算符之一;(4)運(yùn)算求解算術(shù)表達(dá)式。5.測(cè)試數(shù)據(jù)(1)3*(7-2);(2)8;(3)1+2+3+4;(4)88-1*5;(5)1024*4/8;(6)(20+2)*(6/2);(7)3-3-3;(8)8/(9-9);(9)2*(6+2*(3+6*(6+6)));(10)(((6+6)*6+3)*2+6)*2;二、概要設(shè)計(jì)1.設(shè)定棧的抽象數(shù)據(jù)類型定義:ADTStack{數(shù)據(jù)對(duì)象:D={ai|ai∈CharSet,i=1,2,…,n,n≥0}數(shù)據(jù)關(guān)系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:InitStack(&S)操作結(jié)果:構(gòu)造一個(gè)空棧S。GetTop(S,&e)初始條件:棧S已存在。操作結(jié)果:若棧S不空,則以e返回棧頂元素。Push(&S,e)初始條件:棧S已存在。操作結(jié)果:在棧S的棧頂插入新的棧頂元素e。Pop(&S,&e)初始條件:棧S已存在。操作結(jié)果:刪除S的棧頂元素,用e返回其值。}ADTStack2.設(shè)定運(yùn)算表達(dá)式的抽象數(shù)據(jù)類型為:ADTEvaluateExpression{數(shù)據(jù)對(duì)象:D={ai|ai為數(shù)字及運(yùn)算符,i=1,2,…,n,n≥0}數(shù)據(jù)關(guān)系:R1={}基本操作:Precede(a1,a2)初始條件:字符a1,a2存在。操作結(jié)果:判定運(yùn)算符的優(yōu)先級(jí)In(d)初始條件:字符d存在。操作結(jié)果:判斷c是否為七種運(yùn)算符之一Operate(a,theta,b)初始條件:字符a,theta,b存在。操作結(jié)果:運(yùn)算表達(dá)式結(jié)果。}ADTEvaluateExpression3.本程序包含3個(gè)模塊:(1)主程序模塊:intmain(){初始化;do{接受命令:處理命令:}return0;}(2)棧模塊——實(shí)現(xiàn)棧抽象數(shù)據(jù)類型(3)求解算術(shù)表達(dá)式模塊——實(shí)現(xiàn)算術(shù)表達(dá)式數(shù)據(jù)類型各模塊之間的調(diào)用關(guān)系如下:主程序模塊↓棧模塊↓求解算術(shù)表達(dá)式模塊三、詳細(xì)設(shè)計(jì)1.數(shù)據(jù)類型、字符類型。typedefdoubleSElemType;類型typedefstructSqStack{SElemType*base;SElemType*top;intstacksize;}SqStack;棧的基本操作設(shè)置如下:voidInitStack(SqStack&S)求解算術(shù)表達(dá)式的偽算法SElemTypeEvaluateExpression(){SqStackOPTR,OPND;{Push(OPND,c-48);c=getchar();}else{cout<<"error!輸入錯(cuò)誤!"<<endl;exit(-1);}GetTop(OPTR,e);}GetTop(OPND,e);returne;}4.主函數(shù)和其他函數(shù)的偽算法intmain()數(shù)的調(diào)用關(guān)系圖反映了演示程序的結(jié)構(gòu)層次:主程序↓————————↓————————↓InitializationReadCommandInterpret↓↓————————————————↓InitEvaluateExpressionPrintEvaluateExpression↓↓————————↓——————↓——————↓InitStackPushPopGetTop四、調(diào)試分析1.這次作業(yè)思路比較簡(jiǎn)單,核心問(wèn)題就是表達(dá)式的運(yùn)算,要區(qū)分運(yùn)算符的優(yōu)先順序。通過(guò)運(yùn)用棧后進(jìn)先出的特點(diǎn)實(shí)現(xiàn)算法功能,調(diào)用push和pop等函數(shù),實(shí)現(xiàn)一系列操作。2.調(diào)試過(guò)程中,起初想打換行符時(shí)打成了’\’,忘了打字母n,結(jié)果程序調(diào)試總是有錯(cuò)誤,改成’\n’后便成功運(yùn)行了,可見,細(xì)節(jié)之處也很重要。3.運(yùn)用了很多的棧的基本操作,讓我對(duì)棧的內(nèi)容熟悉了不少,收獲很大。4.本題中時(shí)間復(fù)雜度為O(n)五、用戶手冊(cè)本程序的運(yùn)行環(huán)境為DOS操作系統(tǒng),執(zhí)行文件為:。六、測(cè)試結(jié)果(1)請(qǐng)輸入表達(dá)式:3*(7-2);結(jié)果為:15(2)請(qǐng)輸入表達(dá)式:8;結(jié)果為:8(3)請(qǐng)輸入表達(dá)式:1+2+3+4;結(jié)果為:10(4)請(qǐng)輸入表達(dá)式:88-1*5;結(jié)果為:82(5)請(qǐng)輸入表達(dá)式:1024*4/8;結(jié)果為:512(6)請(qǐng)輸入表達(dá)式:(20+2)*(6/2);結(jié)果為:6(7)請(qǐng)輸入表達(dá)式:3-3-3;結(jié)果為:-3(8)請(qǐng)輸入表達(dá)式
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年國(guó)際足球賽事場(chǎng)地租賃合同
- 2024年建筑施工勞務(wù)承包簡(jiǎn)約合同樣本
- 2024樁基礎(chǔ)工程專業(yè)分包合同模板
- 2024代理合同樣式
- 2024技術(shù)參股合作協(xié)議書
- 2024版藥品代理合同
- 二手房交易合同
- 店面承租協(xié)議書范本
- 2024項(xiàng)目開發(fā)全過(guò)程專項(xiàng)法律服務(wù)合同
- 2024常用合作合同范本
- 2024美團(tuán)外賣服務(wù)合同范本
- 2024-2030年飛機(jī)內(nèi)部緊固件行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2023~2024學(xué)年第一學(xué)期高一期中考試數(shù)學(xué)試題含答案
- 企業(yè)信用修復(fù)服務(wù)協(xié)議
- 部編人教版三年級(jí)語(yǔ)文上冊(cè)期中測(cè)試卷5份(含答案)
- 期中測(cè)評(píng)試卷(1-4單元)(試題)-2024-2025學(xué)年人教版三年級(jí)數(shù)學(xué)上冊(cè)
- 2023年國(guó)家公務(wù)員錄用考試《行測(cè)》行政執(zhí)法卷-解析
- 城市軌道交通脫軌事故應(yīng)急預(yù)案
- 2024新版七年級(jí)英語(yǔ)單詞表
- 2024年廣東省高職高考語(yǔ)文試卷及答案
- 2023年全國(guó)中學(xué)生英語(yǔ)能力競(jìng)賽初三年級(jí)組試題及答案
評(píng)論
0/150
提交評(píng)論