版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《編程實(shí)訓(xùn)》 3 32.軟件功能分析 33.數(shù)據(jù)準(zhǔn)備 3 3 42.模塊間調(diào)用關(guān)系 43.主程序模塊 54.抽象數(shù)據(jù)類型描述 5 6 62.各功能模塊的詳細(xì)設(shè)計(jì) 7 7 72.重要問題及處理 83.測(cè)試執(zhí)行及成果 8 9 911.1任務(wù)規(guī)定以一種m*n的長(zhǎng)方陣表達(dá)迷宮,0和1分別表達(dá)迷宮中的通路和障礙。設(shè)計(jì)一種程序,對(duì)1.2軟件功能分析設(shè)計(jì)一種迷宮,通過該程序可以找出通往出口的最短途徑。程序功能有三(1)創(chuàng)立迷宮;(2)求解迷宮;(3)輸出迷宮的解。1.3數(shù)據(jù)準(zhǔn)備0010001000100010000011010111001000010000010001010111100111000101110000002概要設(shè)計(jì)2.1功能模塊圖#defineStackSize100//假定預(yù)分派的棧空間最多為100個(gè)元素typedefcharDataType;//假定棧元素的數(shù)據(jù)類型為字符typedefstruct{}}{Error("Stackoverflow");//上溢,退出運(yùn)行S->data[++S->top]=x;//棧頂指針加1后將x入棧{Error("Stackunderflow");//下溢,退出運(yùn)行returnS->data[S->top--];//棧頂元素返回后將棧頂指針減1}(6)取棧頂元素returnS->data[S->top}2.2模塊間調(diào)用關(guān)系Stack.h中調(diào)用的base.h#defineFALSE0#defineOK1typedefintStatus;typedefstruct{typedefstruct{S.base=(SElemType*)malloc(INIT_SIZE*sizeof(SElemT*)realloc(S.base,(S.stackSize+INCREMENT}3詳細(xì)設(shè)計(jì)typedefintStatus;typedefstruct{//迷宮中r行c列的位置 typedefstructtypedefstructStatusInitMaze(M●可通位置StatusPass(MazeType●標(biāo)識(shí)非通路StatusMarkPrint(MazeType&StatusMazePath(MazeType&maze,PostTypestart,voidPrintMaze(MazeType&maze)4實(shí)現(xiàn)和調(diào)試4.1重要的算法{將目前位置入棧;//納入途徑若該位置是出口位置,則結(jié)束;//求得途徑寄存在棧中}否則{則{}}{??贞U明沒有途徑存在}4.2重要問題及處理輸入數(shù)據(jù):當(dāng)入口為(1,1)時(shí),出口為(9,8)或"1"(表達(dá)不可以進(jìn)出)隨機(jī)產(chǎn)生一種9*8的迷宮,其中使用迷宮障礙坐標(biāo)如下:輸入過程如下圖所示:輸入時(shí)(-1,-1)結(jié)束,接著輸入入口參數(shù)(1,1)然后輸入出口參數(shù)(9,8),運(yùn)行:圖中“1”表達(dá)圍墻和障礙物?!癅”表達(dá)走過但不是通路.而“0”表達(dá)最短途徑。通過不停的調(diào)試簡(jiǎn)短了程序并最終實(shí)現(xiàn)了功能。第一次寫的程序出現(xiàn)錯(cuò)誤,找不到途徑,陷入死循環(huán)。通過多次改善,程序可以找到最短途徑。再次改善后能標(biāo)出走過的但非最短的途徑,有了很大的進(jìn)步。6附錄源程序代碼typedefintStatus;#defineINIT_SIZE100//存儲(chǔ)空間初始分派量#defineINCREMENT10//存儲(chǔ)空間分派增量typedefstruct{//迷宮中r行c列的位置typedefstructintdi;typedefstruct{S.base=(SElemType*)malloc(INIT_SIZE*siz{StatusPush(Stack&S,SEif(S.top-S.base>=S.stackSize)S.base=(SElemType*)realloc(S.base,(S.stackSize+INCREMENT#defineMAXLEN10//迷宮包括外墻最大行列數(shù)目typedef{charadr[MAXLEN][MAXLEN];//可取’''*''@''#'StatusInitMaz{scanf("%d%d",&maze.r,&maze.c);//迷宮行和maze.adr[maze.r+1][i]maze.adr[i][maze.c+1]}printf("輸入障礙物坐標(biāo),以-1-1結(jié)束:");maze.adr[m][n]='I';/printf("輸入障礙物坐標(biāo),以-1-1結(jié)束:");StatusPass(MazeTypemaze,PostType//目前位置可通則返回TURE,否則返回FALSEStatusFootPrint(MazeType&maze,PostTy{maze.adr[curpos.r][curpos.c]='0';//"*"表達(dá)可通PostTypeNextPos(PostType&curpos,int}StatusMarkPrint(MazeType&maze,PostTypecu{curstep=1;//{if(curpos.r==end.r&&curpos{}//if{while(e.di==4&&!StackEmpt{}//if}//if}if(!DestroyStack(S))//voidPrintMaze(MazeType&m{//將標(biāo)識(shí)途徑信息的迷宮輸出到終端(包括外墻)printf("\n迷宮的途徑(*---途徑):\n\n");printf("%4c",maze.adr[i][j]);//輸出迷宮//目前位置的標(biāo)識(shí)}scanf("%d%d",&startprintf("\nBeyondthemaze!!!\n");w
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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版商務(wù)車租賃合同(含保險(xiǎn)責(zé)任條款)
- 二零二五版合作開發(fā)房地產(chǎn)合同綠色建筑認(rèn)證3篇
- 2025年綠色建筑土石方工程承包合同樣本2篇
- 2025年度菜園大棚蔬菜種植與農(nóng)業(yè)科技研發(fā)合同3篇
- 2025版路燈設(shè)施安全檢查與應(yīng)急搶修服務(wù)合同4篇
- 二零二四年醫(yī)療耗材配件銷售代理合同樣本3篇
- 2025年度工業(yè)用地場(chǎng)地租賃及使用權(quán)轉(zhuǎn)讓合同3篇
- 2025年度車輛租賃與道路救援服務(wù)合同3篇
- 2025年新能源汽車專用車位租賃與充電服務(wù)合同2篇
- 2025年度房地產(chǎn)項(xiàng)目融資合同8篇
- 家庭年度盤點(diǎn)模板
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試 數(shù)學(xué) 含答案
- 2024年資格考試-WSET二級(jí)認(rèn)證考試近5年真題集錦(頻考類試題)帶答案
- 試卷中國(guó)電子學(xué)會(huì)青少年軟件編程等級(jí)考試標(biāo)準(zhǔn)python三級(jí)練習(xí)
- 公益慈善機(jī)構(gòu)數(shù)字化轉(zhuǎn)型行業(yè)三年發(fā)展洞察報(bào)告
- 飼料廠現(xiàn)場(chǎng)管理類隱患排查治理清單
- 【名著閱讀】《紅巖》30題(附答案解析)
- Starter Unit 2 同步練習(xí)人教版2024七年級(jí)英語(yǔ)上冊(cè)
- 分?jǐn)?shù)的加法、減法、乘法和除法運(yùn)算規(guī)律
- 2024年江蘇鑫財(cái)國(guó)有資產(chǎn)運(yùn)營(yíng)有限公司招聘筆試沖刺題(帶答案解析)
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)含答案
評(píng)論
0/150
提交評(píng)論