使用班級:10211111-3/10211114-6
使用時間:2011-2012學年第2學期
一、課程設計目的
本課程設計的目的就是要達到理論與實際應用相結合,使同學們能夠根據資料物件的特性,學會資料組織的方法,能把現實世界中的實際問題在計算機內部表示出來,並培養基本的、良好的程式設計技能。
二、課程設計題目
課程設計題一:學生成績管理系統
設計目的:
1.掌握線性鍊錶的建立。
2.掌握線性鍊錶的基本操作。
3.掌握查詢的基本演算法。
設計內容:
利用線性鍊錶實現學生成績管理系統,具體功能:輸入、輸出、插入、刪除、查詢、追加、讀入、顯示、儲存、拷貝、排序、索引、分類合計、退出,並能在螢幕上輸出操作前後的結果。
設計要求:
1.寫出系統需求分析,並建模。
2.程式設計實現,介面友好。
3.輸出操作前後的結果。
課程設計題二:停車場管理系統
設計目的:
掌握棧和佇列的建立。
掌握棧和佇列的基本操作。
深入了解棧和佇列的特性,以便在解決實際問題中靈活運用它們。
加深對棧和佇列的理解和認識。
設計內容:
設有乙個可以停放n輛汽車的狹長停車場,它只有乙個大門可以供車輛進出。車輛按到達停車場時間的早晚依次從停車場最裡面向大門口處停放(最先到達的第一輛車放在停車場的最裡面)。如果停車場已放滿n輛車,則後來的車輛只能在停車場大門外的便道上等待,一旦停車場內有車開走,則排在便道上的第一輛車就進入停車場。
停車場內如有某輛車要開走,在他之後進入停車場的車都必須先退出停車場為它讓路,待其開出停車場後,這些車輛在依原來的次序進場。每輛車在離開停車場時,都應依據它在停車場內停留的時間長短交費。如果停留在便道上的車未進停車場就要離去,允許其離去,不收停車費,並且仍然保持在便道上等待的車輛的次序。
編制一程式模擬該停車場的管理。
設計要求:
以棧模擬停車場,以佇列模擬車場外的便道,按照從終端讀入的輸入資料序列進行模擬管理。
每一組輸入資料報括三個資料項:汽車「到達」或「離去」資訊、汽車牌照號碼以及到達或離去的時刻。
對每一組輸入資料進行操作後的輸出資訊為:若是車輛到達,則輸出汽車在停車場或便道上的停車位置;若是車輛離去,則輸出汽車在停車場內停留的時間和應交納的費用(在便道上停留的時間不收費,功能可自己新增)。
課程設計題三:約瑟夫(joseph)環
設計目的:
掌握單向迴圈鍊錶的建立。
掌握單向迴圈鍊錶的操作。
設計內容:
編號是1,2,……,n的n個人按照順時針方向圍坐一圈,每個人只有乙個密碼(正整數)。一開始任選乙個正整數作為報數上限值m,從第乙個仍開始順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向的下乙個人開始重新從1報數,如此下去,直到所有人全部出列為止。
請設計乙個程式求出出列順序。
設計要求:
利用單向迴圈鍊錶儲存結構模擬此過程,按照出列的順序輸出各個人的編號。
測試資料:m的初值為20,n=7,7個人的密碼依次為3,1,7,2,4,7,4,首先m=6,則正確的輸出是什麼?
輸入資料:建立輸入函式處理輸入的資料,輸入m的初值n,輸入每個人的密碼,建立單向迴圈鍊錶。
輸出形式:建立乙個輸出函式,將正確的出列順序輸出。
課程設計題四:文學研究助手的實現
設計目的:
熟悉串型別的實現方法和文字匹配方法。
熟悉一般文字處理軟體的設計方法。
設計內容:
文學研究人員需要統計某篇英文**中某些形容詞的出現次數和位置。試寫乙個實現這一目標的文字統計系統,稱為「文學研究助手」。
設計要求:
英文**存於乙個文字檔案中。
待統計的詞彙集合要一次輸入完畢。
程式的輸出結果是每個詞的出現次數和出現位置所在行的行號,格式自行設計。
課程設計題五:一元稀疏多項式計算器
設計目的:
掌握稀疏矩陣的相關運算。
掌握廣義表的操作。
設計內容:
設計乙個一元稀疏多項式簡單計算器。
設計要求:
一元稀疏多項式簡單計算器的基本功能是:
輸入並建立多項式;
輸出多項式,輸出形式為整數序列:n,c1,e1,,c2,e2 …… cn,en,其中 n是多項式的項數,ci和ei分別是第i項的係數和指數,序列按指數降序排列。
多項式a和b相加,建立多項式a+b
多項式a和b相減 ,建立多項式a-b
課程設計題六:哈夫曼樹及其應用
設計目的:
熟悉樹的各種儲存結構及其特點。
掌握建立哈夫曼樹和哈夫曼編碼的方法及帶權路徑長度的計算。
設計內容:
欲發一封內容為aabbcab ……(共長 100 字元,其中:a 、b 、c 、d 、e 、f分別有7 、9 、12 、22 、23、27個)的電報報文,實現哈夫曼編碼和解碼。
設計要求:
分析系統需求。
建立哈夫曼樹。
進行哈夫曼編碼,並求出平均編碼長度。
解碼。對編碼好的內容進行解碼。
課程設計題七:交通諮詢系統設計
設計目的:
熟練掌握迪傑斯特拉演算法和費洛伊德演算法,能夠利用它們解決最短路徑問題。
能夠解決工程專案實施過程中的關鍵路徑問題。
設計內容:
設計乙個交通諮詢系統,能讓旅客諮詢從任乙個城市定點到另乙個城市定點之間的最短路徑或最低花費或最少時間等問題。對於不同的諮詢要求、輸出城市間的路程或所需時間或所需花費。
設計要求:
建立交通網路網的儲存結構。
總體設計要畫流程圖。
提供程式測試方案。
介面友好。
課程設計題八:排序演算法比較
一、 設計目的
1. 掌握各種排序的基本思想。
2. 掌握各種排序方法的演算法實現。
3. 掌握各種排序方法的優劣分析及花費的時間的計算。
4. 掌握各種排序方法所適應的不同場合。
二、 設計內容和要求
利用隨機函式產生30000個隨機整數,利用插入排序、起泡排序、選擇排序、快速排序、堆排序、歸併排序等排序方法進行排序,並統計每一種排序上機所花費的時間。
課程設計題九、 迷宮問題非遞迴求解
任務:可以輸入乙個任意大小的迷宮資料,用非遞迴的方法求出一條走出迷宮的路徑,並將路徑輸出;
要求:在上交資料中請寫明:儲存結構、基本演算法(可以使用程式流程圖)、源程式、測試資料和結果、演算法的時間複雜度、另外可以提出演算法的改進方法;
課程設計題十雜湊表的設計與實現
【問題描述】
設計雜湊表實現**號碼查詢系統。
【基本要求】
1)設每個記錄有下列資料項:**號碼、使用者名稱、位址;
2)從鍵盤輸入各記錄,分別以**號碼和使用者名為關鍵字建立雜湊表;
3)採用一定的方法解決衝突;
4)查詢並顯示給定**號碼的記錄;
5)查詢並顯示給定使用者名稱的記錄。
【進一步完成內容】
1)系統功能的完善;
2)設計不同的雜湊函式,比較衝突率;
3)在雜湊函式確定的前提下,嘗試各種不同型別處理衝突的方法,考察平均查詢長度的變化。
課程設計題十一利用棧求表示式的值,可供小學生作業,並能給出分數
要求:建立試題庫檔案,隨機產生n個題目;題目涉及加減乘除,帶括弧的混合運算;隨時可以退出;保留歷史分數,能回顧歷史,給出與歷史分數比較後的評價
課程設計題十二銀行業務活動的模擬
任務:假設某銀行有4個視窗對外置待客戶,從早晨銀行開門起不斷有客戶進入銀行,由於每個視窗在某個時刻只能接待乙個客戶。因此在客戶人數眾多時需要在每個視窗前順次排隊,對於剛進入銀行的客戶。
如果某個視窗的業務員正空閒,則可上前輸業務。反之,若個視窗均有客戶所佔,他便會排在為數最少的隊伍後面。編制乙個程式模擬銀行的這種業務活動並計算一天中客戶在銀行的平均逗留時間。
功能要求:
1).實現資料的輸入;
2).各個視窗資料的訪問和輸出;
3)當前視窗的人員分布情況動態顯示。
介面要求:有合理的提示,每個功能可以設立選單,根據提示,可以完成相關的功能要求。
儲存結構:學生自己根據系統功能要求自己設計。請在最後的上交資料中指明你用到的儲存結構;
測試資料:要求使用1、全部合法資料;2、整體非法資料;3、區域性非法資料。進行程式測試,以保證程式的穩定。測試資料及測試結果請在上交的資料中寫明;
課程設計題十三基於醫院分診系統的排隊策略
1)問題的提出:
近年來,隨著醫療事業的發展,醫院的規模不斷擴大,科室門類劃分的也越來越細,隨之而來的是病人排隊**和看病變的繁瑣,等待時間變長,為此,需要制定一種良好的排隊策略,減少病人的等待時間,提高醫院的服務質量。
1, 我們假設醫院實行八小時工作制,一天工作八小時,即480分鐘。
2, 醫院門診分為普通號和專家號,普通號乙個可是有數為醫生,專家號乙個可是僅有乙個醫生,並且將普通好和專家號相互獨立,以方便模擬。
3, 我們將病人分為a類和b類,對於a類病人,我們僅進行一次診斷,即使用者**後進入佇列,在進行一次診斷後即完成診治。b類病人需要進行兩次診斷和一次檢查,在完成一次診斷後,醫生開出檢查意見,病人進行檢查,完成後病人需返回科室進行第二次診斷,在第二次完成後即完成診治。
4, 雖然實際中在一定時間內病人的產生應該按照泊松分布,由於引數設定的困難,我們將病人的產生使用一般的隨機數生成,同理,病人的診治時間也使用確定的時間。
5, 實際中,每位醫生每天接診的人數是有一定限制的,尤其是專家門診。但考慮病人**的資料無論自實際資料庫,還是來自根據實際情況的隨機模擬資料,各類病人的數量都對應了實際的各科室接診病人的限制。
6, 對於由於到達時間過晚,部分病人將無法完成診斷,我們將忽略這部分病人。
一級分診佇列模式: 每個診室佇列只對應乙個診區候診佇列,我們將之記作q,一般排隊規則是:①剛完成**的病人,新增在q的末尾;②按醫囑完成體檢的病人,直接插入在q的首部。
這種排隊規則廣泛應用於中小醫院。
二級分診佇列模式: 每個診室佇列對應乙個診區候診佇列和乙個候診廳候診佇列,我們將前者記作q1,後者記作q2。一般情況下,因為診區空間限制,q1的人數限制在2、3人左右;而候診廳空間較大,所以對q2的人數不作限制。
一般排隊規則是:①剛完成**的病人,新增在q2的末尾;②按醫囑完成體檢的病人,直接插入在q2的首部;③醫師始終對q1中的首位病人診治,每位病人診治結束時,若q2不空,則q2的首位病人脫離q2,進入q1的尾部。這種排隊規則廣泛應用於大中型醫院。
資料結構課程設計任務書
一 設計的目的 資料結構與演算法課程設計是在學完資料結構與演算法課程之後的實踐教學環節。該實踐教學是軟體設計的綜合訓練,包括問題分析 總體結構設計 使用者介面設計 程式設計基本技能和技巧。要求學生在設計中逐步提高程式設計能力,培養科學的軟體工作方法。學生通過資料結構課程設計在下述各方面得到鍛鍊 1 ...
資料結構課程設計任務書
專業年級班 一 設計題目 學生成績管理系統的設計 二 主要內容 外存用檔案的形式,記憶體採用不同的資料結構完成對學生 班級 課程 成績進行管理。三 具體要求 在記憶體中完成對學生資訊按姓名形成乙個排序二叉樹並進行維護在記憶體中對班級 課程表形成乙個鍊錶,並進行維護在記憶體中用陣列的形式完成成績表的維...
《資料結構》課程設計任務書
學生姓名專業班級 軟體080 班 指導教師 夏紅霞工作單位 電腦科學與技術學院 題目 學生成績管理程式的設計與實現 課程設計要求 1 熟練掌握基本的資料結構 2 熟練掌握各種演算法 3 運用高階語言編寫質量高 風格好的應用程式。課程設計任務 1 系統應具備的功能 1 對學生的姓名 各科成績進行輸入和...