![數(shù)據(jù)結構課程設計模板(DOC)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/4c6cf4a8-36fd-4990-9a0d-8d9933b26bc8/4c6cf4a8-36fd-4990-9a0d-8d9933b26bc81.gif)
![數(shù)據(jù)結構課程設計模板(DOC)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/4c6cf4a8-36fd-4990-9a0d-8d9933b26bc8/4c6cf4a8-36fd-4990-9a0d-8d9933b26bc82.gif)
![數(shù)據(jù)結構課程設計模板(DOC)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/12/4c6cf4a8-36fd-4990-9a0d-8d9933b26bc8/4c6cf4a8-36fd-4990-9a0d-8d9933b26bc83.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)結構與算法課程設計報告題 目:學 院:專業(yè)班級:學生姓名:指導教師:2016年06月2 9日目錄一、課程設計目的 二、課程設計步驟 三、課程設計內容 四、課程設計報告 五、提交材料 3.3.5.錯. 誤 !未定義書簽。6.7.六、考核方式與評分標準七、參考文獻9.附錄 1 齊齊哈爾大學軟件工程系課程設計說明書(報告)撰寫規(guī)范 10、課程設計目的及要求數(shù)據(jù)結構與算法分析 課程設計培養(yǎng)計算機專業(yè)的學生的算法程序設計能 力。通過上機實驗,可以培養(yǎng)學生程序設計的方法和技巧,提高學生編制清晰、 合理、可讀性好的系統(tǒng)程序的能力, 加深對數(shù)據(jù)結構課程和算法的理解。 使學生 更好地掌握數(shù)據(jù)結構的基本概念、
2、基本原理、及基本算法 ,具有分析算法、設計 算法、構造和開發(fā)較復雜算法的基本能力。要求學生能綜合運用 數(shù)據(jù)結構與算法分析 的相關知識, 培養(yǎng)學生上機解 決一些與實際應用結合緊密的、 規(guī)模較大的問題的能力, 通過分析、設計、編碼、 調試等各環(huán)節(jié)的訓練, 使學生深刻理解、 牢固掌握數(shù)據(jù)結構和算法設計技術, 掌 握分析實際問題的能力并提高 C 語言編程技巧,培養(yǎng)良好的編程風格。課程設計要求獨立完成, 題目自選(參考題目見三,也可自擬) ,但需要老 師確認(6 月 16 日前定題) ,一人一題,要求程序有能采用交互式工作方式的界 面進行功能的選擇 , 只能用文件存儲數(shù)據(jù)和處理數(shù)據(jù)不能使用數(shù)據(jù)庫。要求在
3、教 學周的第 18 周前完成。課程設計步驟隨著計算機性能的提高,它所面臨的軟件開發(fā)的復雜度也日趨增加。然而, 編制一個 10000行的程序的難度絕不僅僅是一個 5000行的程序的兩倍,因此軟件 開發(fā)需要系統(tǒng)的方法。一種常用的軟件開發(fā)方法,是將軟件開發(fā)過程分為 分析、 設計、實現(xiàn)和維護 四個階段。雖然數(shù)據(jù)結構課程中的課程設計的復雜度遠不如 (從 實際問題中提出來的 )一個“真正的”軟件,但為了培養(yǎng)一個軟件工作者所應具 備的科學工作的方法和作風,完成課程設計的應有如下的 5個步驟:1. 問題分析和任務定義 通常,課程設計題目的陳述比較簡潔,或者說是有模棱兩可的含義。因此, 在進行設計之前, 首先應
4、該充分地分析和理解問題, 明確問題要求做什么, 限制 條件是什么。注意:本步驟強調的是做什么,而不是怎么做。對問題的描述應避 開算法和所涉及的數(shù)據(jù)類型,而是對所需完 成的任務作出明確的回答。例如: 輸入數(shù)據(jù)的類型、 值的范圍以及輸入的形式; 輸出數(shù)據(jù)的類型、 值的范圍及輸出 的形式;若是會話式的輸入,則結束標志是什么,是否接受非法的輸入,對非法 輸入的回答方式是什么等等。 這一步還應該為調試程序準備好測試數(shù)據(jù), 包括合 法的輸入數(shù)據(jù)和非法形式輸入的數(shù)據(jù)。2. 數(shù)據(jù)類型和系統(tǒng)設計在設計這一步驟中需分 邏輯設計和詳細設計 兩步實現(xiàn)。邏輯設計指的是, 對 問題描述中涉及的操作對象定義相應的數(shù)據(jù)類型,
5、 并按照以數(shù)據(jù)結構為中心的原 則劃分模塊, 定義主程序模塊和各抽象數(shù)據(jù)類型; 詳細設計則為定義相應的存儲 結構并寫出各過程和函數(shù)的偽碼算法。 在這個過程中, 要綜合考慮系統(tǒng)功能, 使 得系統(tǒng)結構清晰、 合理、簡單和易于調試, 抽象數(shù)據(jù)類型的實現(xiàn)盡可能做到數(shù)據(jù) 封裝,基本操作的規(guī)格說明盡可能明確具體。 作為邏輯設計的結果, 應寫出每個 抽象數(shù)據(jù)類型的定義 (包括數(shù)據(jù)結構的描述和每個基本操作的規(guī)格說明 ),各個主 要模塊的算法, 并畫出模塊之間的調用關系圖。 詳細設汁的結果是對數(shù)據(jù)結構和 基本操作的規(guī)格說明作出進一步的求精, 寫出數(shù)據(jù)存儲結構的類型定義, 按照算 法書寫規(guī)范用類C語言寫出過程或函數(shù)
6、形式的算法框架。在求精的過程中,應盡 量避免陷入語言細節(jié),不必過早表述輔助數(shù)據(jù)結構和局部變量。3. 編碼實現(xiàn)和靜態(tài)檢查 編碼是把詳細設計的結果進一步求精為程序設計語言程序。 程序的每行不要 超過60個字符。每個過程 (函數(shù))體,即不計首部和規(guī)格說明部分,一般不要超過 40行。最長不得超過 60 行,否則應該分割成較小的過程 (函數(shù))。要控制語句連 續(xù)嵌套的深度。 如何編寫程序才能較快地完成調試是特別要注意的問題。 對于編 程很熟練的讀者,如果基于詳細設計的偽碼算法就能直接在鍵盤上輸入程序的 話,則可以不必用筆在紙上寫出編碼, 而將這一步的工作放在上機準備之后進行, 即在上機調試之前直接用鍵盤輸
7、入。 然而,不管你是否寫出編碼的程序, 在上機 之前,認真的靜態(tài)檢查卻是必不可少的。 多數(shù)初學者在編好程序后處于以下兩種 狀態(tài)之一:一種是對自己的 “精心作品 ”的正確性確信不疑; 另一種是認為上機前 的任務已經完成,糾查錯誤是上機的工作。這兩種態(tài)度是極為有害的。事實上, 非訓練有素的程序設計者編寫的程序長度超過 50 行時,極少不含有除語法錯誤 以外的錯誤。 上機動態(tài)調試決不能代替靜態(tài)檢查, 否則調試效率將是極低的。 靜 態(tài)檢查主要有兩種方法,一是用一組測試數(shù)據(jù)手工執(zhí)行程序 (通常應先分模塊檢 查);二是通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯,在這 個過程中再加入一些注解和斷
8、言。 如果程序中邏輯概念清楚, 后者將比前者有效。4. 上機準備和上機調試 上機準備包括以下幾個方面:(1)高級語言文本 (體現(xiàn)與編譯程序用戶手冊 )的擴充和限制。例如,有些 C 編譯程序限制 for 語句的循環(huán)控制變量為局部簡單變量等。(2)如果用C語言,要特別注意平時慣用的類C語言與標準C語言之間的細微 差別。(3)熟悉機器的操作系統(tǒng)和語言集成環(huán)境的用戶手冊,尤其是最常用的命令 操作,以便順利進行上機的基本活動。(4)掌握調試工具, 考慮調試方案, 設計測試數(shù)據(jù)并手工得出正確結果。 “磨 刀不誤砍柴工 ”。計算機各專業(yè)的學生應該能夠熟練運用高級語言的程序調試器 DEBUG調試程序。上機調試
9、程序時要帶一本高級語言教材或手冊。調試最好分 模塊進行, 自底向上, 即先調試低層過程或函數(shù)。 必要時可以另寫一個調用驅動 程序。這種表面上麻煩的工作實際上可以大大降低調試所面臨的復雜性, 提高調 試工作效率。在調試過程中可以不斷借助 DEBUG的各種功能,提高調試效率。 調試中遇到的各種異?,F(xiàn)象往往是預料不到的, 此時不應“苦思具想”,而應動手 確定疑點, 通過修改程序來證實它或繞過它。 調試正確后, 認真整理源程序及其 注釋,印出帶有完整注釋的且格式良好的源程序清單和結果。5. 總結和整理實習報告 注意:在實踐中,有時候可能想檢驗自己的想法,這時可以上機嘗試一下, 看看自己的思路是否可行。
10、三、課程設計內容參考題目:1 二叉樹的應用哈夫曼樹(電文的編碼和譯碼)2 運動會分數(shù)統(tǒng)計3 學生成績管理系統(tǒng)4 簡易客房管理系統(tǒng)5 其他類型管理系統(tǒng)的題目 人事檔案管理系統(tǒng)圖書管理系統(tǒng)進銷存貨物管理系統(tǒng) 職工工資管理系統(tǒng)6. 稀疏矩陣運算器7. 長整數(shù)的四則運算8. 校園導游咨詢10停車場管理11其余題目:(必須事先 得到指導老師允許 )程序經常需要輸入輸出, 所以可以在考慮采用什么樣的數(shù)據(jù)結構時, 考慮如 何進行數(shù)據(jù)的輸入和輸出,可以把輸入和輸出分別實現(xiàn)為一個函數(shù)。實現(xiàn)了輸 入輸出功能,也為以后程序的調試和測試帶來方便。四、課程設計報告課程設計報告統(tǒng)一用A4紙打印,并裝訂成冊,封面格式參見所
11、附文檔,正文 格式要求參見附錄 1。課程設計報告內容具體要求如下:1. 課程設計實驗報告內容總體要求1)給出問題分析過程根據(jù)自身對課程的掌握程度, 充分分析和理解問題的設計要求, 給出較為明 確、簡潔的設計思路。2)給出數(shù)據(jù)結構描述根據(jù)要解決的問題, 考慮各種可能的數(shù)據(jù)結構類型, 從中選擇一種較為有效 的方法,并寫出采用的數(shù)據(jù)結構描述及其功用。3)給出相應算法設計根據(jù)問題分析的結果, 并確立好所選的數(shù)據(jù)結構描述, 然后寫出合理的算法 設計過程,特別要注意所使用函數(shù)間的調用與被調用關系。4)給出詳細程序清單根據(jù)算法的內容,用計算機語言(如C語言)編寫完整的程序,并將程序在 機器上反復調試, 直到
12、結果正確為止, 程序要求附上詳細注解。 特別要注意算法 與程序的區(qū)別以及上下層模塊間的接口處理。5)給出程序運行結果利用典型的測試用例, 將數(shù)據(jù)輸入到程序執(zhí)行過程中去, 記下執(zhí)行過程中屏 幕顯示情況與相應結果。2. 具體內容要求:報告包括以下 7個內容:1)以無歧義的陳述說明程序設計的任務,強調的是程序要做什么?并明確 規(guī)定:(1)輸入的形式和輸入值的范圍;(2)輸出的形式;(3)程序所能達到的功能;(4)測試數(shù)據(jù):包括正確的輸入及其輸出結果和含有錯誤的輸入及其輸出結 果。2)概要設計 說明本程序中用到的所有抽象數(shù)據(jù)類型的定義、 主程序的流程以及各程序模 塊之間的層次 (調用 )關系。3)詳細
13、設計 實現(xiàn)概要設計中定義的所有數(shù)據(jù)類型, 對每個操作只需要寫出偽碼算法; 對 主程序和其他模塊也都需要寫出偽碼算法 (偽碼算法達到的詳細程度建議為:按 照偽碼算法可以在計算機鍵盤直接輸入高級程序設計語言程序 );畫出函數(shù)和過 程的調用關系圖。4)調試分析內容包括:(1)調試過程中遇到的問題是如何解決的以及對設計與實現(xiàn)的回顧討論和 分析;(2)算法的時空分析 (包括基本操作和其他算法的時間復雜度和空間復雜度 的分析 )(3)改進設想;(4)經驗和體會等。5)用戶使用說明 說明如何使用你編寫的程序,詳細列出每一步的操作步驟。6)測試結果列出你的測試結果, 包括輸入和輸出。 這里的測試數(shù)據(jù)應該完整和
14、嚴格, 最 好多于需求分析中所列。7)附錄 帶注釋的源程序,如果提交程序,可以只列出程序文件名的清單。五、提交材料課程設計完成后的下一周的周一上午,也就是 2012年 6月 28-29日,提交 如下資料并答辯:1 課程設計報告。課程設計報告總體上主要包括以下幾個部分:1)封面2)考核方式與評分標準 (見六 )3)目錄4)課程設計報告正文5)使用說明2.完整的軟件系統(tǒng)最終必須向指導老師提交完整的程序源代碼(.C和.cpp以及.h為后綴的文件)、數(shù)據(jù)文件以及使用說明文件等。源代碼文件要特別注意編程規(guī)范、代碼風格,關鍵 代碼需有合理的注釋,不含任何無用代碼;數(shù)據(jù)文件內要求有一定數(shù)量的“真實” 數(shù)據(jù)(
15、如對于記錄文件,需要有 8 條以上記錄); 使用說明文件的第一行,需要給 出設計者的學號、姓名,后面為其它說明。課程設計項目源代碼和相關數(shù)據(jù), 放到一個目錄下, 目錄名以學號加姓名方式命名。六、考核方式與評分標準(下頁單獨打?。┚C合實踐1評分表班級姓名指導教師題目評分標準評分標準分數(shù)權重評分的依據(jù)得分AC選題10選題符合大綱要求,題目較新穎,工作量大選題基本符合大綱要 求,工作量適中工作態(tài)度10態(tài)度端正,能主動認真 完成各個環(huán)節(jié)的工作, 不遲到早退,出勤好。能夠完成各環(huán)節(jié)基本 工作,出勤較好。存儲結構、算 法描述20能正確選擇存儲結構, 定義準確,算法流程圖 或類C語言描述的算 法準確無誤能正
16、確選擇存儲結構, 算法流程圖或類C語 言描述的算法基本準 確獨立解決問題 的能力10具有獨立分析、解決問 題能力,有一定的創(chuàng)造 性,能夠獨立完成軟件 的設計與調試工作,程 序結構清晰,邏輯嚴 謹,功能完善。有一定的分析、解決冋 題能力。能夠在老師指 導下完成軟件的設計 與調試工作,程序功能 較完善。答辨問題回答20能準確回答老師提出的問題能基本準確回答老師 提出的問題程序運行情況10程序運行正確、界面清 晰,測試數(shù)據(jù)設計合 理。程序運行正確、界面較 清晰,能給出合適的測 試數(shù)據(jù)。綜合實踐報告20格式規(guī)范,層次清晰, 設計思想明確,解決問 題方法合理,體會深 刻。格式較規(guī)范,設計思想 基本明確,
17、解決問題方 法較合理??偡种笇Ы處煟ê炞郑鹤ⅲ航橛贏和C之間為B級,低于C為D級和E級。按各項指標打分后,總分 在90100為優(yōu),8089為良,7079為中,6069為及格,60分以下不及格。七、參考文獻1 嚴蔚敏,吳偉民數(shù)據(jù)結構(C語言版)北京:清華大學出版社,1997.42 嚴蔚敏 , 吳偉民 , 米寧. 數(shù)據(jù)結構題集( C 語言版) . 北京: 清華大學出版社 ,1999.2附錄 1 齊齊哈爾大學數(shù)據(jù)結構 課程設計說明書(報告)撰寫規(guī)范(一)正文:漢字應采用簡化漢字總表規(guī)定的簡化字,并嚴格執(zhí)行漢 字的規(guī)范。 所有文字字面清晰, 不得涂改。要求文字通順, 語言流暢, 無錯別字, 不得使用
18、鉛筆書寫。正文內容層次序號為:1、1.1、。 正文內容一般為:1 、選題背景: 說明本課題應解決的主要問題及應達到的技術要求;簡述本設計 的指導思想。2、方案論證: 說明設計原理并進行方案選擇,闡明為什么要選擇這個設計方案 以及所采用方案的特點。3、過程(設計或實驗)論述 :對設計工作的詳細表述。要求層次分明、表達確 切。4、結果分析 :對研究過程中所獲得的主要的數(shù)據(jù)、現(xiàn)象進行定性或定量分析, 得出結論和推論。5、結論或總結 :對整個研究工作進行歸納和綜合。(二)表格說明書(報告)的表格可以統(tǒng)一編序 (如:表 15),也可以逐章單獨編序 (如: 表 2.5 ),采用哪種方式應和插圖及公式的編序
19、方式統(tǒng)一。表序必須連續(xù),不得 重復或跳躍。表格的結構應簡潔。表格中各欄都應標注量和相應的單位。 表格內數(shù)字須上下對齊, 相鄰欄內的 數(shù)值相同時,不能用同上 、同左和其它類似用詞,應一一重新標注。表序和表題置于表格上方中間位置, 無表題的表序置于表格的左上方或右上 方(同一篇論文位置應一致) 。(三)圖插圖要精選。圖序可以連續(xù)編序(如 圖 52),也可以逐章單獨編序(如 圖 6.8 ),采用哪種方式應與表格、公式的編序方式統(tǒng)一,圖序必須連續(xù),不得重復 或跳躍。僅有一圖時,在圖題前加附圖字樣。課程設計中的插圖以及圖中文字符號應打印,無法打印時一律用鋼筆繪制和標出標出由若干個分圖組成的插圖,分圖用
20、a,b,c,圖序和圖題置于圖下方中間位置。(四)公式 說明書中重要的或者后文中須重新提及的公式應注序號并加圓括號, 序號一 律用阿拉伯數(shù)字連續(xù)編序(如: (45)或逐章編序(如( 6.10 ),序號排在版面 右側,且距右邊距離相等。公式與序號之間不加虛線。(五)數(shù)字用法 公歷世紀、年代、年、月、日、時間和各種計數(shù)、計量,均用阿拉伯數(shù)字。年份不能簡寫,如 1999 年不能寫成 99 年。數(shù)值的有效數(shù)字應全部寫出,如: 0.50:2.00 不能寫作 0.5:2 。(六)軟件 軟件流程圖和原程序清單要按軟件文檔格式附在說明書 (報告) 后面,特殊 情況可在成績評定時展示,不附在說明書(報告)內。(七
21、)工程圖按國標規(guī)定裝訂圖幅小于或等于 3#圖幅時應裝訂在說明書(報告)內,大于3#圖幅時按國標規(guī)定單獨裝訂作為附圖。(八)計量單位的定義和使用方法按國家計量局規(guī)定執(zhí)行。(九)排版與封面要求1、排版用 word 排版,具體格式如下:版面要求:頁邊距:上 2.5cm,下2.5cm,左3cm,右2.5cm;字 體:正文宋體、小四,章節(jié)標題宋體、小三;行 距:固定值 20;頁 碼:居中、底部。2、封面附錄 2 Visual C+ 6.0 簡介考慮到目前大多數(shù)初學者使用的都是PC機和Windows操作系統(tǒng),我們以 Visual C+作為推薦的C+編譯器。1. Visual C+集成開發(fā)環(huán)境Visual
22、C+軟件包包含了許多獨立的組件,如編輯器、編譯器、調試器,以及各種各樣為開發(fā)Windows環(huán)境下的C/C+程序而設計的工具。其中最重要的是一個名為DeveloperStudio的集成開發(fā)環(huán)境。Developer Studio把所有的Visual C+工具結合在一起, 集成為一個 由窗口、對話框、菜單、工具欄、快捷鍵及宏組成的和諧系統(tǒng),通過該集成環(huán)境,程序員可 以觀察和控制整個開發(fā)進程。1顯示了一個典型的Developer Studio主窗口。它分為幾個部分:窗口頂部是菜單和工具欄,左面的一個子窗口是工作區(qū)窗口,工作區(qū)的右面是編輯子窗口。最下面是輸出子窗口。值得注意的是,上述各種部件,包括子窗口
23、、菜單欄和工具欄的位置不是一成不變的,可以根據(jù)個人的喜好重新安排。圖 1 典型的 Developer Studio 窗口(1)菜單和工具欄Developer Studio中有一個 Menu Bar (菜單欄,通常??吭陂_發(fā)環(huán)境窗口的頂部),其中的菜單項有 File (文件處理)、Edit (編輯功能)、View (查看)、Insert (插入)、Project (項目管理)、Built (編譯)、Tools (工具)、Window (窗口)和 Help (幫助)等,分別對 應一個下拉子菜單。除菜單欄外,開發(fā)環(huán)境中還有幾個工具欄,一般均放在開發(fā)環(huán)境的頂部,菜單欄的下方,如Standard (標準
24、工具欄,用于文件管理、編輯和查看等),Wizard Bar (向導工具欄)和Build Min iBar (建立工具欄,用于編譯、連接等)。工具欄上有常用命令的圖標。一般來說, 工具欄上的命令在菜單中均有對應選項,但工具欄使用更方便, 只要用鼠標左鍵點擊工具欄中的相應圖標即可調用相應的功能。開發(fā)環(huán)境的各種菜單欄和工具欄均為停靠式,可以用鼠標拖動改變它們的位置,除此之外,Developer Studio的所有部分幾乎都可響應鼠標右鍵單擊而彈出一個上下文相關菜單。 甚至當Developer Studio沒有打開窗口時,在空白區(qū)右擊鼠標也會彈出一個菜單,其中含有 使窗口可見和調整工具欄是否可見的命令
25、。在工具欄上除標題欄外的任何地方右擊鼠標,同樣可以彈出菜單。在使用集成環(huán)境工作時試一試鼠標右鍵,還會發(fā)現(xiàn)許多其他的快捷方式。(2)Developer Studio 窗口除了各種對話框外,Developer Studio顯示兩種類型的窗口,即文檔窗口和停靠窗口。文檔窗口是一般的帶邊框子窗口,其中含有源代碼文本或圖形文檔。Window子菜單中列出了在屏幕上以平鋪方式還是以層疊方式顯示文檔窗口的命令。所有其他的Developer Studio窗口,包括工具欄和菜單欄,都是??渴酱翱凇i_發(fā)環(huán)境有兩個主要的??看?口Workspace (工作區(qū))窗口和 Output (輸出)窗口。另外還有一個Debug
26、ger (調試器)??看翱冢辉谡{試過程中顯示。圖2新建一個項目停靠窗口可以固定在 Developer Studio用戶區(qū)的頂端、底端或側面,或者浮動在屏幕上 任何地方。??看翱?,不論是浮動著的或是固定著的,總是出現(xiàn)在文檔窗口的上面。這樣, 就保證了當焦點從一個窗口移到另一個時,浮動的工具欄一直都是可見的。但這也意味著, 文檔窗口偶爾會看起來像消失了似的。例如,如果正在文本編輯器中編輯源代碼,此時打開一個占據(jù)整個Developer Studio用戶區(qū)的??看翱冢创a文檔就會消失,它隱藏在新窗口 之下。解決方法是要么關了覆蓋的窗口,要么把它拖到不擋眼的地方去。(3)菜單選項、快捷鍵和工具欄De
27、veloper Studio的許多功能都有不只一種調用方法。例如,執(zhí)行一個編譯、連接成功 的可執(zhí)行文件,既可通過選擇菜單選項Build/Execute.exe完成,也可以直接使用快捷鍵Ctrl+F5,還可以用鼠標點擊 Build MiniBar (編譯工具欄)上的相應圖標來完成。一般來說, 越是常用的功能,可以調用的方法越多、越方便。(4)用Developer Studio編寫和調試簡單 C+程序在Visual C+中,C+的程序是存放到以后綴名為.CPP的文件中,系統(tǒng)是通過Projects(工程項目)來管理這些文件的。 所以要編寫和運行 C+程序,首先必須建立一個 Projects。下面以一
28、個簡單的例子來說明如何在Visual集成開發(fā)環(huán)境編寫和調試簡單C+程序的步驟:(1)首先運行并打開 Developer Studio系統(tǒng),選擇菜單選項中的Projects選項卡。從卡中選擇 Win 32 Con sole Applicati on (Win 32 控制臺應用程序)。(2) 為應用項目取一個名字,填寫在選項卡右上方的Project Name (項目名稱)處,并檢查下面的Location (位置)中列出的路徑是否正確。注意使下面的單選框選擇Create NewWorkspace (即要建立新工作區(qū)),然后按下0K按鈕。如圖2。(3) 這時會出現(xiàn) Application Wizard
29、 (應用程序生成向導),提問要生成的項目類型。 選擇An Empty Project (空項目),按下Finish (結束)鍵,會彈出一個窗口,顯示新項目的 有關信息。檢查無誤后按 OK按鈕。如圖3及4pcoNEatam.* EmprcaHKata BpfArMwi.* N mr1 arill literulllW |Jl4*IA圖3確定項目類型g I CUM圖4項目相關信息(4)這時屏上會顯示一個空項目,并生成一個工作區(qū)文件(后綴為.DSW)。再次選擇File菜單的New選項,并選擇 Files選項卡。從卡中選擇 C+ Source源程序)。(5) 為程序取一個名字 (可與項目名相同,也可以
30、不同)填寫在選項卡右邊的 File處, 然后按下OK按鈕。如圖5圖5建立文件(6)這時開發(fā)環(huán)境右側的文件編輯窗口中出現(xiàn)了一個空文件,在此可以鍵入源程序代 碼。如圖6(7)程序輸入后,應仔細檢查一遍,然后就可以編譯了。(8) 選擇菜單選項 Build/Compile gravitation.cpp (其中gravitation為文件名)編譯源 程序。稍候片刻,會在Output窗口(通常在屏幕下方)中顯示編譯結果,如出錯信息等(編 譯錯誤的處理在下一節(jié)介紹)。如果程序正確,編譯結果會生成一個目標文件(后綴為.OBJ)。(9)目標文件還需通過連接才能生成可執(zhí)行文件。選擇菜單選項Build/Build
31、gravitation.exe連接目標文件。結果顯示在Output窗口中。連接的結果為可執(zhí)行文件(后綴為.exe)。以上兩步也可以并為一步,即直接使用菜單選項Build/Build gravitation.exe 。-* 圖6代碼的編輯界面生成的可執(zhí)行文件可以單獨運行,也可以在開發(fā)環(huán)境中直接運行,后一種方法在程序需要反復調試時更加方便。在集成開發(fā)環(huán)境中直接運行程序的方法是選用菜單選項 Build/Excute.exe。程序運行結果如圖7圖7程序運行結果2. Visual C+幫助功能MSDN (Microsoft Developer Network)是使用 Microsoft 開發(fā)工具或是以
32、Windows 和 In ternet為開發(fā)平臺的開發(fā)人員的基本參考資料。通過MSDN所提供的Help資料,可以對Visuan C+和Windows的工作機制有更全面的了解,可以幫助解決開發(fā)者遇到的大多數(shù)問 題。由于MSDN庫為包括 Visual C+在內的所有的 Visual studio 6.0開發(fā)環(huán)境工具提供在線幫助,所以它在系統(tǒng)中作為一個應用程序獨立運行,并沒有同任何單個開發(fā)環(huán)境結合在一起。要從 Visual C+中訪問 MSDN,種方法是從 Visual C+的Help菜單中選擇 Contents、 Search或Index命令,另一種方法是在 Visual C+開發(fā)環(huán)境中直接按下F
33、1鍵,系統(tǒng)都會自動運行MSDN幫助程序。MSDN界面分為三個窗格,頂端的窗格包含有工具欄。左側的窗格包含有各種信息定位方法,通過單擊列表中的主題,即可瀏覽或查找所需的各種信息;右側的窗格則顯示所選擇的主題的具體內容,這些內容是以超文本形式存在的,其中的相關內容可以通過超文本鏈接連接到其他的相關主題。圖8 MSDN界面左邊窗口中有四個選項卡:目錄、索引、搜索和書簽,用于提供四種不同的在線幫助瀏覽方式。(1) 目錄。單擊目錄選項卡可瀏覽主題的標題。該目錄是依照標題和副標題的排列方 式形成一個包含了 MSDN中所有可用信息的可擴充目錄表。雙擊列表中的標題,就可在 MSDN窗口的右欄中打開該文章。(2
34、) 索弓|。單擊索引選項卡可查看索引項的列表,然后可通過該欄左邊的滾動條翻閱整個索引列表。也可通過在對話框頂部的編輯框中鍵人關鍵字來完成查找功能。找到所要的索引條目后雙擊,如果該條目僅對應一篇文章,MSDN就會立刻在其窗口右欄顯示其內容;否則會出現(xiàn)已找到的主題對話框,其中列出了該條目可能指向的所有文章,這時可通過雙擊列表中所需要主題,打開相應的一篇文章。(3) 搜索。單擊搜索選項卡可查找到包含在某個主題中的所有詞組或短語。它是一個全文本搜索引擎,允許尋找包含指定詞或短語的主題。和MSDN的索引選項比起來,全文本搜索所能覆蓋范圍更寬,它可以提供更多的文章以供選擇。(4) 書簽。單擊書簽選項卡可創(chuàng)
35、建或訪問書簽的列表。用戶只需簡單地標記書簽中的某些主題,即可重新訪問它們。3. Developer Studio 文本編輯器Developer Studio提供了一個優(yōu)秀的程序文本編輯器,它使應用程序的編輯修改和調試工作混為一體,非常方便。該文本編輯器不僅可編輯程序文本,還可編輯一般的文本文件和HTML Page。啟動文本編輯器非常簡單,只要建立一個新文本文件,或打開一個已存在的文本文件, 文本編輯器就會自動出現(xiàn)。在文本編輯器中,用一閃爍的短豎線表示編輯位置,通過鍵盤輸入的文字在此位置插入 文本。用鼠標左鍵點擊文本中的某個字符可以改變編輯位置。文本編輯器的基本操作包括:T :光標向后移動一個字
36、符。J:光標向前移動一個字符。T:光標向上移動一行。J:光標向下移動一行。Home :光標移動到行首。End:光標移動到行尾。Ctrl+Home: 光標移動到文件頭。Ctrl+End: 光標移動到文件尾。PgUp :光標向上滾動一屏。PgDn: 光標向下滾動一屏。Ctrl+Y :刪除行。Del :刪除光標右邊字符。Backspace:刪除光標左邊字符。 Ins:插入/改寫方式切換。Developer Studio 的 Edit 子菜單還提供了一批高級編輯功能,大致可分為以下幾類:(1)Un do和Redo,用于反悔對文本文件所做的修改(2)剪貼Cut、復制Copy、粘貼Paste和刪除Dele
37、te( 3)查找 Find 和替換 Replace( 4)書簽( 5)高級選項( 6)斷點設置( 7)編程指導信息4 Developer Studio 文件處理功能Developer Studio 提供了很完整的文件處理功能,可處理程序文本文件、項目文件、 WORD 文檔和 EXCEL 文檔等。Developer Studio 的 File 子菜單共有 14 項,分為 6 組,組與組之間用橫線隔開。第 1 組用于建立、打開和關閉文件處理的對象,包括項目、文件、工作區(qū)和其他文檔:(1)建立新對象(New,快捷鍵為CTRL+N )。選擇該菜單項,可打開一個有若干卡 片的對話框,各卡片的內容分別為:
38、項目(Projects):用于建立項目。 項目即要開發(fā)的應用程序,Developer Studio可用于開發(fā)各種類型的應用程序,如控制臺應用程序( Win32 Console Application )、 32 位 Windows 應用程序( Win32 Application )和 MFC 應用向導程序( MFC AppWizard )等。對于不同類 型的項目,建立的具體文件也不同。文件(Files):用于建立各種文件,包括源程序文件( Source File,文件名后綴為cpp )、 頭文件(Header File,文件名后綴為 h)、文本文件(Text File,文件名后綴為txt )、
39、位圖文 件(Bitmap File,文件名后綴為 bmp)等。工作區(qū)(Workspaces):每個正在開發(fā)的項目要占用一個工作區(qū)。一般來說,在建立項 目的同時即為其建立了工作區(qū)。但也可用本選項建立一個空的工作區(qū)。其他文檔(Other Documents):用于建立一些文檔文件,女口 MS Excel工作表,MS Excel圖表, MS PowerPoint 演示文稿和 MS Word 排版文檔等。(2) 打開已有對象(Open,快捷鍵為 CTRL+O )。用于打開一個已存在的項目文 件或文檔。選擇該菜單項,會彈出一個文件路徑對話框,用于確定要打開的內容。(3) 關閉文件(Close)。用于關閉
40、當前打開并激活的文件。第 2 組用于處理工作區(qū)。包括:(1) 打開工作區(qū)(Open Workspace)。用于一個已存在的工作區(qū)。工作區(qū)的有關參數(shù)(包括應用程序的結構體系,特別是其類、資源、文件和幫助信息等的參數(shù))存放在后綴名為 dsw 和 mdp 的文件中。(2) 保存工作區(qū)(Save Workspace) o用于保存當前打開的工作區(qū)文件。(3) 關閉工作區(qū)(Close Workspace) o用于關閉當前打開的工作區(qū)文件。第 3 組用于處理當前文件,包括:(1) 保存文件(Save,快捷鍵為CTRL+S )。用于保存當前正在使用的文件。(2) 另存文件(Save As)。將當前文件換一個名
41、字保存,原來的文件內容不變。(3) 保存所有文件(Save All)。保存當前打開的所有文件。第 4 組用于打印當前文件,包括:(1) 頁面設置(Page Setup)。設置打印頁面格式,為打印當前文件作準備。(2) 打印當前文件(Print 快捷鍵為CTRL+P )。用于打印當前文件。第 5 組用于快速打開或切換文件和工作區(qū)。包括:(1) 最近使用過的文件 (Recent Files)。用于直接打開最近幾次在Developer Studio中 使用過的文件,可在彈出的下級菜單中直接選取。(2) 最近使用過的工作區(qū)( Recent Workspaces) o用于直接打開最近幾次在Develop
42、er Studio 中打開過的工作區(qū),可在彈出的下級菜單中直接選取。最后 1 組只有一個菜單項:(1)退出Developer Studio ( Exit )。選擇該菜單項可以關閉當前打開的所有對象,包括 項目、工作區(qū)和文件等,退出 Developer Studio ,返回 Windows 操作系統(tǒng)界面。5Visual C+ 程序的編譯、連接和運行用于編譯、連接和運行應用程序的功能集中在創(chuàng)建(Build )子菜單中,但其中多數(shù)功能也可通過快捷鍵和工具條調用。Developer Studio 的 Build 子菜單共有 11 項,分為 4 組,組與組之間用橫線隔開。 第1組包括編譯、連接等功能:編
43、譯當前項目(Compile,快捷鍵為 Ctrl+F7 )。用于將源程序編譯為目標代碼。編譯結 果及編譯錯誤信息在輸出窗口( Output) 顯示。編譯、連接當前項目(Build,快捷鍵為 F7)。在對當前項目的源程序編譯之后,還進 行連接( Link )操作,即將目標代碼與系統(tǒng)或用戶類庫連接并生成可執(zhí)行的程序(或動態(tài)連 接庫 .DLL 等)。重新編譯、連接當前項目(Rebuild All )。功能與Build基本相同,只是無論是否修改 過,對所有文件都重新進行編譯和連接工作。以批處理方式編譯、連接當前項目(Batch Build )。功能與Build基本相同,只是同時產生調試版和發(fā)行版執(zhí)行程序
44、。清除臨時文件(Clean)。用于清除上一次編譯、連接時產生的臨時文件和輸出文件,以整理程序目錄。第2組用于調試程序, 包括開始調試(Start Debug)和遠程調試鏈接 (Debugger Remote Connect)。第3組用于執(zhí)行當前項目的可執(zhí)行程序(Execute,快捷鍵為Ctrl+F5 )。第 4 組用于設置編譯和連接工作的參數(shù)。包括:設置項目的版本類型(Set Active Configuration)。Developer Studio生成的可執(zhí)行文件有兩種版本,一種是調試版本( Win32 Debug) ,內含調試代碼,體積稍大,主要在編程調 試過程中使用。另一種是發(fā)放版本(
45、Win32 Release),其中不包含調試代碼,體積小,用于在程序調試結束后提交用戶。管理項目版本( Configuration 。)。用于管理項目的調試版本和發(fā)放版本。Profile 。設置、 Profile 程序和顯示 Profile 數(shù)據(jù)。6查看和修改編譯、連接錯誤剛編寫好的程序含有錯誤是正常的, 即使是熟練的專業(yè)程序員也很難一次就編寫出完全 沒有錯誤的源程序來。 實際上, 重要的不是程序中是否有錯誤, 而是怎樣將這些錯誤找出來 并改正之。一般來說,一段源程序從輸入編輯到通過編譯,往往要重復若干次編譯-修改 -再編譯的過程。如果在編譯的過程中發(fā)現(xiàn)了錯誤,則進入編輯查錯狀態(tài)。這時在屏幕下
46、方的Output窗口中會顯示出錯誤的類型、錯誤發(fā)生的位置以及錯誤的原因。錯誤信息的格式為:(行) : 錯誤有兩種,一種是 Error,表示這是一個嚴重錯誤,非改不可。另一種是Warning ,表示源程序這里有可能是錯誤的, 也有可能不是錯誤,編譯程序自己也拿不準。一般來說,如 果只出現(xiàn)警告信息, 還是可以繼續(xù)連接、 運行程序, 建議在出現(xiàn)編譯警告時最好還是仔細檢 查一下,設法消除引起警告的原因。錯誤發(fā)生的位置包括源程序的路徑和文件名以及錯誤所在行。必需說明的是C+編譯程序的 “智力 ”并不十分高,雖然能夠查出錯誤, 但對錯誤的說明可能并不十分準確,而且一 個實際錯誤往往會引出若干條錯誤說明,
47、使人不容易摸清到底錯在什么地方。 錯誤的原因其 實可能很簡單, 例如少寫了一個括號、 分號或拼錯了一個單詞, 都可能引起一連串的錯誤提 示。真正的錯誤之處也可能在此之前的某個語句。 而且指出的錯誤條數(shù)可能偏多, 常常是由 于一處出錯而引發(fā)了一系列錯誤提示信息。用鼠標雙擊一條錯誤信息可使文本編輯器作出反應, 其左框上顯示一個箭頭指出對應的 出錯語句,以便修改源程序。在連接階段也可能出現(xiàn)一些錯誤提示。 與編譯錯誤提示信息不同的是連接錯誤不指出錯 誤發(fā)生的詳細位置, 這是因為連接的對象是目標程序, 和源程序格式有很大差別, 不易確定 錯誤的準確位置。 連接階段出現(xiàn)的錯誤一般比較少, 大多數(shù)是因為在程
48、序中調用了某個函數(shù), 而連接程序卻找不到該函數(shù)的定義。 這時最有可能的是函數(shù)名字拼寫錯誤。 另外, 如果程序 的規(guī)模較大, 需要分為若干個源程序文件分別編譯然后連接, 則也可能出現(xiàn)全局變量重復定 義或找不到等錯誤現(xiàn)象。在找到連接錯誤的原因并改正以后, 一定要重新編譯后才能再次連接。 否則, 雖然源程 序已經修改, 但進行連接的目標程序還是以前有錯誤的目標程序, 再次連接仍然會產生同樣 的錯誤。7運行錯誤的判斷與調試通常所說的運行錯誤有兩種 , 一種是邏輯錯誤 , 即程序的實際運行結果和編程者對程序 結果的期望不符 ; 另一種仍是程序設計上的錯誤 , 但是躲過了編譯程序和連接程序的檢查 , 通常
49、表現(xiàn)為突然死機、自行熱啟動或者輸出信息混亂。相對于編譯和連接錯誤來說 ,運行錯誤的查找和判斷更為困難。編譯和連接錯誤可以由編譯程序和連接程序檢查,而運行錯誤就不同了 ,很少或根本沒有提示信息,只能靠程序員的經驗來判斷錯誤的性質和位置。下面簡單地介紹一些常見運行錯誤的調試方法。邏輯錯誤:一種邏輯錯誤是由于在設計程序的算法時考慮欠周引起的,例如對邊界和極端條件未作處理等。例如以下循環(huán) :while(co unt)count = count 1;程序員的構思是進行 count次循環(huán)。但是,如果count中原來的值為負數(shù)時,此循環(huán)就成 了一個死循環(huán)”而導致無法停機,顯然是錯誤的。但是編譯程序無法查出這
50、類錯誤,只有到了程序運行之后才有可能發(fā)現(xiàn)。再如,在利用海倫公式計算三角型面積時,首先應該確認給出的三條邊長確實可以構成一個三角形,否則計算結果是沒有意義的;而在編寫求解一般實系數(shù)一元二次方程的程序時,必須在程序中設計處理復根情況的程序段,以免對負數(shù)求平方根。另一種常見的邏輯錯誤是由于程序輸入時的打字錯誤造成的,例如將判斷條件中的“ =誤輸入為“”將相等判斷“=誤輸入為賦值號 “=等。含有這類錯誤的程序在運行時出 現(xiàn)的現(xiàn)象多種多樣,而且通常很難與錯誤的原因聯(lián)系起來。數(shù)組下標越界錯誤:即使用了并不存在的數(shù)組元素。例如有程序段int a5;for(i nt i=1; i=5; i+)ai = 0;由
51、于5并不存在,而上述程序段試圖將數(shù)據(jù)存放到一個并不存在的數(shù)組元素中,這會 引起包括死機在內的嚴重運行錯誤。類似錯誤還有指針和動態(tài)存儲分配引起的一些運行錯 誤。&基本調試手段程序的基本調試手段有以下幾種:標準數(shù)據(jù)檢驗、程序跟蹤、邊界檢查和簡化循環(huán)次數(shù) 等。標準數(shù)據(jù)檢驗:在程序編譯、連接通過以后,就進入了運行調試階段。運行調試的第一 步就是用若干組已知結果的標準數(shù)據(jù)對程序進行檢驗。標準數(shù)據(jù)的選擇非常重要,一是要有代表性,接近實際數(shù)據(jù);二是要比較簡潔,容易對其結果的正確性進行分析。另外,對重要的臨界數(shù)據(jù)也必須進行檢驗。程序跟蹤:對于比較復雜的大型程序來說,上述標準數(shù)據(jù)檢驗一次就完全通過的可能性很小。
52、通常程序中總是存在許多各種各樣的錯誤,還需要對程序進行細致的調試工作。程序跟蹤則是最重要的調試手段。程序跟蹤的基本原理是讓程序一句一句地執(zhí)行,通過觀察和分析程序執(zhí)行的過程中數(shù)據(jù)和程序執(zhí)行流程的變化來查找錯誤。就Visual C+而言,程序跟蹤可以采用兩種方法,一種是直接利用Developer Studio中的分步執(zhí)行、斷點設置、變量內容顯示等功能對程序進行跟蹤,這種方法在后面的編程與調試部分介紹;另一種是傳統(tǒng)的方法,通過在程序中直接設置斷點、打印重要變量內容等來掌握程序的運行情況。例如,可以 在程序中的關鍵部位插入這樣的代碼段:/調試代碼段cout 100 endl;cout Variable
53、 count =“ count “, x =“ x nd S um =“ sum e_getch ( ) ;/ 調試代碼段結束其中的變量可以根據(jù)程序的實際情況進行設計。使用 _getch ( ) 函數(shù)的目的是要程序在 執(zhí)行到這一行時暫時停下來 , 從而可以看清楚調試代碼段所顯示的信息, 然后選擇是否讓程 序繼續(xù)執(zhí)行,該函數(shù)的原型在頭文件 conio.h 中。如果到這一斷點時尚未發(fā)現(xiàn)錯誤 , 則可以 按下任何一個鍵讓程序繼續(xù)運行到下一個斷點 ; 否則可以使用組合鍵 Ctrl+Break 鍵來中斷程 序, 再使用編輯器對程序進行修改。在程序中的所有的問題都解決了之后 , 再將程序中所有 的調試代碼段統(tǒng)統(tǒng)刪去。邊界檢查 : 在設計檢查用的數(shù)據(jù)時 , 要重點檢查邊界和特殊情況。例如 , 對于循環(huán) : while(count a b c;這樣的程序時,為了突出測試該段程序對某組輸入數(shù)據(jù)(如a = 1, b = 2, c= 3 )的響應情況 , 同時避免每次輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年八年級物理全冊3.2聲音的特性練習含解析新版滬科版
- 楚雄師范學院《空間數(shù)據(jù)庫原理》2023-2024學年第二學期期末試卷
- 中央音樂學院《生化工程》2023-2024學年第二學期期末試卷
- 遼寧生態(tài)工程職業(yè)學院《草地植物生物技術》2023-2024學年第二學期期末試卷
- 2025年物業(yè)經理工作要點計劃月歷表(31篇)
- 玉溪職業(yè)技術學院《人力資源管理》2023-2024學年第二學期期末試卷
- 三峽大學《信號與系統(tǒng)》2023-2024學年第二學期期末試卷
- 促進人工智能+消費實施方案
- 2025年休閑會所合作協(xié)議書
- 吉首大學張家界學院《網頁動畫設計》2023-2024學年第二學期期末試卷
- 2025版茅臺酒出口業(yè)務代理及銷售合同模板4篇
- 2025年N1叉車司機考試試題(附答案)
- 2025年人教版數(shù)學五年級下冊教學計劃(含進度表)
- 2025年初級社會工作者綜合能力全國考試題庫(含答案)
- 產品報價單(5篇)
- 制冷操作證培訓教材-制冷與空調設備運行操作作業(yè)培課件
- 勞動感悟800字作文30篇
- 市級臨床重點??粕陥髸?/a>
- 中交與機械竣工區(qū)別
- 《醫(yī)院重點??平ㄔO專項資金管理辦法》
- 第三章:王實甫與《西廂記》PPT課件(完整版)
評論
0/150
提交評論