




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 數據結構與算法設計課程設計指導書本課程設計是學習掌握數據結構相關知識的重要實踐環節,是在課程及實驗基礎上進行的綜合性實踐教學活動。一、課程設計目的數據結構與算法設計課程設計作為獨立的教學環節,是集中實踐性環節系列之一,是學習完數據結構與算法設計課程后進行的一次全面的綜合練習。其目的在于加深對數據結構理論和基本知識的理解,掌握使用C語言結合數據結構知識來設計一個實際中小型系統的方法,綜合訓練學生的分析問題、設計的基本內容和方法,提高解決實際管理問題的能力,以培養學生的專項技能和職業能力。課程設計圍繞課程的整體教學目標進行,課程設計的題目具有一定的綜合性和應用性,只靠個別單元的知識一般不能實現課
2、程設計的目標,需要對課程知識進行綜合運用。要完成好課程設計,就要對課程知識進行系統學習、復習、總結、應用,達到在實踐中學習知識、掌握知識、應用知識和培養能力的目的。通過課程設計,進一步熟悉掌握以下知識:線性表(順序表、單鏈表、單循環鏈表、雙鏈表)、棧、隊列(鏈隊列、循環隊列)、樹、二叉樹、網、哈夫曼樹、二叉排序樹、平衡二叉樹、圖、查找(順序查找、折半查找)、排序(直接插入排序、希爾排序、冒泡排序、快速排序、簡單選擇排序、堆排序、基數排序、歸并排序)等。通過課程設計,達到系統理解、綜合運用課程知識的學習目標。通過課程設計,學會用C語言結合數據結構知識解決實際問題的方法。通過課程設計,掌握程序的局
3、部測試、調試方法,建立程序系統調試、測試的基本概念和思想,學會較大程序的系統測試和調試方法。本次課程設計主要是利用VisualC+6.0來進行編程和調試。二、課程設計基本過程數據結構與算法設計課程設計一般包括6個步驟,即程序的功能設計、程序的數據結構設計、程序的模塊(函數)設計、函數編碼及調試、程序整體調試和課程設計總結等,各個步驟都有其特定的任務。1程序的功能設計功能設計是課程設計的第一個環節,其任務是根據課程設計題目的描述和要求,確定程序要實現的功能,并把這些功能劃分為不同的層次,確定各層功能的上下級關系,然后繪制出分級描述的程序功能框圖,必要時對所列功能進行說明。2程序的數據結構設計程序
4、的數據設計主要包括對以下各類數據進行設計:針對程序的功能,對程序中用到的主要數據確定數據類型,并設計出各種數據的抽象數據類型ADT。對程序中用到的結構體數據定義其結構體類型。定義程序中使用的全局變量、外部變量等。定義程序中通用的符號常量。確定文件的數據類型,如二進制文件、文本文件等。3程序的模塊(函數)設計一個綜合性的程序,按其功能,需要劃分出若干個模塊,每個模塊都要設計若干個函數來實現。各個函數功能各異,使用的層次也不盡相同。為了使總體設計協調有序地進行,需要在程序編碼之前,對主要的函數做出預先設計,即所謂的函數設計。程序的函數設計包括函數的功能設計和函數調用設計兩個方面。函數的功能設計。對
5、應程序功能框圖,確定各項功能要使用的主要函數,并進行明確描述,包括:函數名稱、函數功能、函數參數、函數返回值類型等。函數調用設計。對函數的調用關系進行描述,明確說明在實現程序功能時,函數之間將發生的調用和被調用關系。4函數編程及調試函數編程及調試是實現程序功能的核心階段,需要注意以下問題:課程設計具有一定的綜合性,其程序通常由多個函數構成,每個函數都有獨立的功能,實現特定的操作。但程序中的所有函數是一個有機的整體,都圍繞實現程序的功能進行設計。有些函數之間有調用和被調用關系,在進行函數設計時需要注意順序問題,有的函數先設計,有的函數后設計,而沒有調用關系的函數可以并列設計。當多人合作進行一個課
6、程設計時,可以并列設計的函數即可由不同的設計人員承擔。程序設計是一個循序漸進的過程。有的函數在程序設計前的函數設計階段就被考慮到了,而有的函數是在程序設計過程中因需要才產生的。但無論哪一個函數,都會經歷由簡單,到功能完善定型的過程。函數設計一般以功能實現為主線,圍繞程序的一個功能進行函數設計。每一個函數完成之后,都要立即進行函數功能測試,直到確認函數能實現其功能為止。有時在測試一個主調函數時,其被調用的函數還沒有完成設計,這時最簡便的方法,就是把被調用函數先設計為只有一個空的;語句的函數,然后進行主調函數的基本測試。當被調用函數設計完成之后,再進行詳細的測試。不同功能的函數,對磁盤文件可能有不
7、同的使用要求,因此在進行文件操作時,打開文件的方式就可能不同。5整體調試整體調試是程序設計的必要階段,是在前期程序設計調試基礎上進行的基本過程。需要設計準備一個較大規模的數據集,按照課程設計題目的功能要求,對組裝完成的程序逐項進行功能測試和調試,直至確認程序達到了設計目標為止。6”設計總結是課程設計的最終階段,通過對課程設計的各個過程進行系統全面地總結,按照指導教師的具體要求,形成課程設計報告。三、課程設計時間數據結構與算法設計課程設計時間為兩周(從周一至周日,共14日),具體安排如下:數據庫課程設計項目時長(天)地點資料的收集與整理1待定程序的功能設計1待定程序的數據設計2待定程序的(模塊)
8、函數設計2待定函數編程與調試3待定整體調試2待定撰寫設計文檔2待定答辯1待定具體課表安排如下:周次星期課節地點第20周星期一3、4?機房星期二3、4星期三3、4星期四3、4星期五3、4第21周星期一3、4星期二3、4星期三3、4星期四3、4星期五3、4四、課程設計的考查由指導教師根據學生完成課程設計任務的情況(課程設計報告的質量70%和課程設計過程中的工作態度20%,系統開發情況10%)綜合打分。成績評定實行優秀、良好、中等、及格和不及格五個等級。優秀者人數一般不超過總人數的20%。注意:課程設計最后將隨機抽取不少于占總數1/3的學生進行答辯。五個等級分別如下:優(90-100分):按要求完成
9、設計題目,有完整的符合標準的文檔,文檔有條理、文筆通順,格式正確,其中有總體設計思想的論述,有正確的流程圖,程序完全實現設計方案,設計方案先進,軟件可靠性好;良(80-89分):完成設計題目,有完整的符合標準的文檔,文檔有條理、文筆通順,格式正確;有完全實現設計方案的軟件,設計方案較先進;中(70-79分):完成設計題目,有完整的符合標準的文檔,有基本實現設計方案的軟件,設計方案正確;及格(60-69分):完成設計題目,有完整的符合標準的文檔,有基本實現設計方案的軟件,設計方案基本正確;不及格(0-59分):沒有完成設計題目,沒有完整的符合標準的文檔,軟件沒有基本實現設計方案,設計方案不正確。
10、課程設計報告撰寫的基本要求是報告原則上不少于4000字,需在封面注明設計選題、班級、課題組成員姓名、學號及項目分工,其正文建議包括如下幾個方面的內容:.課題(或系統)概述(現狀分析,系統目標等).系統分析設計部分(必需,重點)(1)系統的功能(2)可行性分析(3)需求分析(4)概要設計,要求(重點)系統的數據設計,設計出每種數據類型的ADT寫出數據詞典畫出系統邏輯結構給出系統模塊劃分各功能模塊的算法處理流程圖及相關說明(5)詳細設計,列出核心代碼,代碼如果比較長,可以附錄在后面(6)數據庫設計部分(非必需,如果使用了數據庫,則必須給出,如果沒有使用數據庫,則此部分可以不要).系統測試部分(必需
11、)根據已知的輸入,預測應該輸出的結果,并實際運行,對比分析,找出錯誤所在,并改正。.系統操作演示部分(必需)(1)數據的輸入操作(2)數據的輸出操作(3)數據的分析.系統小結(必需)(1)程序設計過程中遇到的問題及解決過程(2)課程設計心得及體會.附源程序六、課程設計參考題目參考30個題目:.學生成績管理系統.學生通訊錄管理系統.學生檔案管理系統.選舉投票系統.計算器.走迷宮.排序大全特別聲明:以上題目僅供參考,學生可以另選題目(這句話刪除?)要求:.設計上述題目的數據結構;.用C語言或其他語言實現系統;.系統具有增加,查詢,修改,刪除,排序等基本功能;.進行簡單界面設計,能夠實現友好的交互;
12、.具有清晰的程序流程圖和數據結構的詳細定義;.系統的各個功能模塊要求用函數的形式實現;.完成設計任務并書寫課程設計報告七、上交材料學生需要上交的材料主要包括:.軟件軟件需提供源程序,并能正常運行。注:(1)對于程序中未能實現的部分需要加以說明。(2)對于程序中所參考的部分代碼需要加以聲明,并說明出處。.文檔(設計報告)(1)課程設計題目(2)設計要求(3)數據結構設計描述(4)各變量的定義和作用(5)系統各模塊(函數)的組成,功能,參數說明,相互調用關系(6)各功能模塊的算法處理流程圖及相關說明(7)程序設計過程中遇到的問題及解決過程(8)課程設計心得及體會(9)附源程序(10)參考文獻學生應
13、按規范撰寫課程設計總結報告,并在第二周周四前交給教師,教師閱后,給報告打分,并對合格的學生,隨機抽取不少于占總數1/3的學生進行答辯。課程設計實踐教學環節結束后,教師將總結報告按要求裝訂后送交系存檔。八、成績評定由指導教師根據學生完成課程設計任務的情況(課程設計報告的質量70%和課程設計過程中的工作態度20%,系統開發情況10%)綜合打分。其中,不及格者必需重修該課程設計。九、課程設計學生守則及管理規定1、學生在課程設計期間應遵守學校作息制度;請假需經指導教師同意,并按學校規定辦理請假手續,否則以曠課論處,每天以6課時計算。2、學生必須隨時接受指導教師的檢查,指導及安排的工作。3、課程設計所使
14、用的機器,須經指導教師同意后,方可使用。課程設計結束后,制作成果必須交學院資料室。4、學生使用的計算機、電子儀器或其它設備,若因責任事故造成丟失或損壞,應酌情賠償。若設備發生故障,應及時報告,學生不得擅自修理。5、嚴格禁止學生在計算機房或實驗室玩游戲,每發現一次,則課程設計成績降低5分。學生未經指導教師同意將私人盤片、器材帶入計算機房或實驗室,將予以沒收。學生也不得將計算機房和實驗室中的任何設備、器材和工具帶回宿舍使用,否則視為盜竊。6、學生在實驗室內必須嚴肅認真,不得大聲喧嘩,嚴禁吃任何食物,嚴禁吸煙,每日負責衛生打掃,并在離開時切斷電源,關好水龍頭,關緊門窗。7、學生借閱院資料室參考書籍和
15、資料時,必須由指導老師帶領,并由指導老師簽名借閱。8、課程設計學生在停課期間必須每天到所在的實驗室簽到。江西理工大學課程設計報告書數據結構與算法設計課程設計報告書課程名稱數據結構與算法設計課程設計設計題目學生成績管理系統專業班級計算機161班學號08090n5101學生姓名指導教師起止日期2017年月日至月日課程設計任務書設計內容.課題(或系統)概述(現狀分析,系統目標等).系統分析設計部分(必需,重點)(1)系統的功能(2)可行性分析(3)需求分析(4)概要設計,要求(重點)系統的數據設計,設計出每種數據類型的ADT寫出數據詞典畫出系統邏輯結構給出系統模塊劃分各功能模塊的算法處理流程圖及相關說明詳細設計,列出核心代碼,代碼如果比較長,可以附錄在后面(6)數據庫設計部分(非必需,如果使用了數據庫,則必須給出,如果沒有使用數據庫,則此部分可以不要).系統測試部分(必需)根據已知的輸入,預測應該輸出的結果,并實際運行,對比分析,找出錯誤所在,并改正。.系統操作演示部分(必需)(1)數據的輸入操作(2)數據的輸出操作(3)數據的分析.系統小結(必需)(1)程序設計過程中遇到的問題及解決過程(2)課程設計心得及體會.附源程序設計的基本要求1、結合該課程中所學的理論知識,按要求獨立設計方案,培養學生獨立分析與解決問題的能力;2、學會查閱相關手冊和資料,通過查閱手冊和資料,進一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論