課程設計報告
課程名稱資料結構
課題名稱公園導遊圖
專業電腦科學與技術
班級計算機0702
學號 200703010235
姓名蔡鄂湘
指導教師陳淑紅李傑君李珍輝
2023年 10月 26日
湖南工程學院
課程設計任務書
課程名稱資料結構
課題公園導遊圖
專業班級計算機0702
學生姓名蔡鄂湘
學號 200703010235
指導老師陳淑紅李傑君李珍輝
審批任務書下達日期 2009 年 10 月 8 日
任務完成日期 2009 年 11 月 8 日
1設計內容與設計要求
1.1設計內容
1.1.1 算術24遊戲演示
由系統隨機生成4張撲克牌,使用者利用撲克牌的數字及運算符號及括號「(」和「)」從鍵盤上輸入乙個計算表示式,系統執行後得出計算結果,如果結果等於24,則顯示「congratulation!」,否則顯示「incorrect!」
設計思路:從鍵盤輸入中綴表示式,然後將中綴表示式轉換為字尾表示式,利用字尾表示式求值。
1.1.2 迷宮探索
隨機生成乙個迷宮圖,迷宮大小為n*n,n預定義為常數,修改n的值可以改變迷宮的大小。用白色表示可走的路,藍色表示牆壁不可以通過。系統設計兩種執行方式:
一種是系統自動探索(用遞迴方法實現);另一種是由人工操作探索通路。
設計思路:程式首先要考慮迷宮的表示,這是乙個二維關係圖,所以可選擇二維陣列來儲存。陣列元素只有兩種值0和1,分別代表通路和牆壁。
圖形的顯示可以根據陣列元素的值來確定。如果是人工探索,則依據按鍵來確定探索物的位置座標,利用迴圈語句實現。如果是系統自動探索,可採用遞迴演算法實現。
1.1.3 二叉樹遍歷演示
演示遍歷二叉樹的過程,所以首先建立二叉樹,並用圖形顯示出樹的形狀。建立的過程是採用前序便利的方法來建立,設計兩種生成樹的方式:一種是系統隨機生成,另一種是人工輸入。
考慮到螢幕介面的有限性,限定二叉樹不超過5層,最多26個字元,輸入字元小數點「.」代表null。初始樹為某種顏色的結點,三種情況的遍歷採用填充另外一種醒目的顏色,來表示當前遍歷的結點,同時顯示該結點的訪問序號。
同時在遍歷的過程中在遍歷圖形的下方顯示出遍歷序列。
1.1.4 陣列應用
按照行優先順序將使用者隨機輸入的資料建成2維陣列並以圖形方式逐步顯示出來,然後再按照列優先順序以圖形方式逐步輸出相應陣列。
1.1.5 拓撲排序演示
演示拓撲排序的過程。按照有向圖給出的次序關係,將圖中頂點排成乙個線性序列,對於有向圖中沒有限定次序關係的頂點,則可以人為加上任意的次序關係。要求每輸出乙個頂點後就演示從圖中刪去此頂點以及所有以它為尾的弧。
1.1.6 圖的遍歷
演示圖的深度優先, 廣度優先遍歷過程,並輸出原圖結構及遍歷結果。要求圖的結點數不能少於6個。可以由系統隨機生成圖,也可以由使用者手動輸入圖。
報告中要寫出畫圖的思路;畫出圖的結構,有興趣的同學可以進一步改進圖的效果。
1.1.7 八皇后問題演示
在8*8的棋盤上擺放8個皇后,使他們不在同一條對角線上和不在一行和列上。 解決8皇后時,在安放第i行皇后時,需要在列的方向從1到n試探(j =1,…, n):首先在第j列安放乙個皇后,如果在列、主對角線、次對角線方向有其它皇后,則出現攻擊,撤消在第j列安放的皇后。
如果沒有出現攻擊,在第j列安放的皇后不動,遞迴安放第i+1行皇后。 該課題要求求解可能的方案及方案數並逐步演示擺放皇后的過程。
1.1.8 雙鏈表建立演示
建立乙個遞增有序的雙鏈表。功能是隨機生成8個結點資料,每生成乙個結點則申請空間得到乙個指標,將資料存放到指標所指的資料域中,然後將結點插入到已經排好序的雙鏈表中。所以第一步工作是判斷新結點的插入位置,第二不演示插入過程中指標的變化,第三步顯示插入後的鍊錶結果。
1.1.9 公園導遊圖
給出一張某公園的導遊圖,遊客通過終端詢問可知:從某一景點到另一景點的最短路徑。遊客從公園大門進入,選一條最佳路線,使遊客可以不重複地遊覽各景點,最後回到出口(出口就在入口旁邊)。
要求用圖示展示最佳路徑。
1.2 選題方案:
所選題目根據學號確定,學號模9加1,即(學號%9+1)。如你的學號為12,則所選題目號為:12%9+1=(題目4)。
注意,所有的課題都要求用圖形方式演示步驟和結果。有興趣的同學可以自己針對資料結構課程中所講演算法來設計乙個演示過程的演算法,但要預先告知老師,經過審批,方可確定課題。
1.3設計要求:
1.3.1 課程設計報告規範
(1)需求分析
a. 程式的功能。
b. 輸入輸出的要求。
(2)概要設計
a. 程式由哪些模組組成以及模組之間的層次結構、各模組的呼叫關係;每個模組的功能。
b. 課題涉及的資料結構和資料庫結構;即要儲存什麼資料,這些資料是什麼樣的結構,它們之間有什麼關係等。
(3)詳細設計
a. 採用c語言定義相關的資料型別。
b. 寫出各模組的類c碼演算法。
c. 畫出各函式的呼叫關係圖、主要函式的流程圖。
(4)除錯分析以及設計體會
a. 測試資料:準備典型的測試資料和測試方案,包括正確的輸入及輸出結果和含有錯誤的輸入及輸出結果。
b. 程式除錯中遇到的問題以及解決問題的方法。
c. 課程設計過程經驗教訓、心得體會。
(5)使用說明
使用者使用手冊:說明如何使用你編寫的程式,詳細列出每一步的操作步驟。
(6)書寫格式
a. 設計報告要求用a4紙列印成冊:
b. 一級標題用3號黑體,二級標題用四號宋體加粗,正文用小四號宋體;行距為22。
(7)附錄
a. 源程式清單(帶注釋)
1.3.2 考核方式
指導老師負責驗收程式的執行結果,並結合學生的工作態度、實際動手能力、創新精神和設計報告等進行綜合考評,並按優秀、良好、中等、及格和不及格五個等級給出每位同學的課程設計成績。具體考核標準包含以下幾個部分:
(1)平時出勤 (佔10%)
(2)系統需求分析、功能設計、資料結構設計及程式總體結構合理與否(佔10%)
(3)程式能否完整、準確地執行,個人能否獨立、熟練地除錯程式(佔40%)
(4)設計報告(佔30%)
注意:不得抄襲他人的報告(或給他人抄襲),一旦發現,成績為零分。
(5)獨立完成情況(佔10%)。
1.3.3 課程驗收要求
(1)執行所設計的系統。
(2)回答有關問題。
(3)提交課程設計報告。
(4)提交軟盤(源程式、設計報告文件)。
(5)依內容的創新程度,完善程式情況及對程式講解情況打分。
2 進度安排
2.1 計算機0701/0702班:
第 7 周:星期一 8:00——12:00 上課星期一 14:00——16:00 上課
星期五 18:00——22:00 上機
第 8 周:星期六 14:00——18:00 上機星期日 8:00——12:00 上機
星期日 18:00——22:00 上課
第 9 周:星期六 8:00——12:00 上機星期日 14:00——18:00 上機
2.2 計算機0703班:
第 7 周:星期一 8:00——12:00 上課星期一 14:00——16:00 上課
星期六 8:00——12:00 上機星期日 14:00——18:00 上機
第 8 周:星期六 8:00——12:00 上機星期日 14:00——18:00 上機
第 9 周:星期六 14:00——18:00 上機星期日 18:00——22:00 上機。
目錄1.需求分析1
1.1課程設計內容和要求1
1.2 輸入輸出的要求1
2.概要設計2
2.1 主要程式功能模2
2.2 課題涉及的資料結構和資料庫結構2
3.詳細設計4
3.1 c語言定義的相關資料型別4
3.2 各模組的類c碼演算法4
3.3 各函式的呼叫關係圖、主要函式的流程圖7
4.除錯分析以及設計體會11
4.1測試資料11
4.2程式除錯中遇到的問題以及解決問題的方法15
4.3經驗教訓、心得體會15
製作「北京奧運遊」導遊圖 陳偉樂
七 教學過程 1 情境匯入 2008年8月8日我們國家舉辦了一屆最棒的奧運會 北京奧運 在這次奧運會裡我國的運動員們取得了驕人的成績,以51枚金牌,21枚銀牌,28枚銅牌,總數100枚,位居獎牌榜第一名。雖然我們未能親臨這麼精彩的奧運比賽,但是我們可以一起遊覽北京奧運的各個景點,請看看一些奧運景點的...
包公園導遊詞
各位遊客請跟我這邊走,現在我們所看到的這口井就是廉泉了。大家知道為什麼會被叫做廉泉嗎?這是因為啊 汙吏喝了這口井裡的水會肚子疼,不肖子孫喝了則會頭疼生病。當然這僅僅是個傳說。大家可以上前看一看。現在我們來到的便是 包公故事蠟像館 了。館內有 怒談國丈 鍘美案 打龍袍 幾組蠟像組成的。其中 鍘美案 說...
西山公園導遊詞
西山公園位於桂林城西,占地面積約2平方公里,包括隱山和西山。西山在唐代曾為佛門聖地,建有西慶林寺,為當時南方五大禪林之一。今山壁上尚存佛龕90餘座,造像200餘尊。明清以前,西山東南麓曾有一片占地700畝的西湖,荷塘月色,煙波裊裊,湖中一玲瓏小山若隱若現,是名隱山。後無人疏浚,遂遭淤沒。今僅開出湖面...