實驗報告規範及樣例

2022-03-27 23:32:46 字數 2833 閱讀 3293

《資料結構》是一門實踐性很強的軟體基礎課程,上課講授可以使學生對資料結構和演算法有一定了解,但為了學好這門課,每個學生必須完成一定數量的上機實驗作業。上機實驗可使學生深刻理解各種邏輯結構、儲存結構的特性。上機實驗是對學生的一種全面綜合訓練,是與課堂聽講、自學和練習相結合的乙個必要教學環節。

實驗題中所要解決的問題比平時的習題要複雜,它更接近於解決實際問題。實驗著眼於理論與應用的結合,使學生學會將課上聽講和書本上學到的知識與實際問題相聯絡,用所學知識去解決實際問題,培養軟體工程的思想,提高實踐能力。同時,能使學生更加深刻地理解和靈活掌握所學內容。

實驗題是軟體設計的綜合訓練,需要學生用軟體工程的思想去解決實際問題。需要學生進行問題分析,總體結構設計,詳細設計,編碼和測試等一系列的步驟。

為了達到上述目的,本書的上一章安排了7個實驗單元,各單元的訓練重點在於基本的資料結構和演算法。各實驗單元與教科書的各章粗略對應,在每個實驗單元中安排有難度不等的1~2個實驗題,有的實驗題目具有綜合性,設計性。

每個實驗題採取了統一的格式,由問題描述、基本要求、提示與分析、測試資料、選做內容5個部分組成。問題描述旨在為學生建立問題提出的背景環境,要回答的問題是:「要解決的問題是什麼?

」;基本要求將要解決的問題具體化,指出了具體應該實現的功能,對輸入和輸出的格式要求也做了說明;提示與分析部分對實現中的難點及其演算法思想作了簡要提示,給出了主要資料結構及其資料型別的定義,對基本功能進行了分析;測試資料部分給出了具有代表性的,包括邊緣情況的一些資料,旨在為檢查學生上機作業提供方便;選做內容旨在開拓學生的思路,用以完成基本要求以外的問題,對程式進行擴充套件,使其功能更加完善,結構更加合理,容易修改擴充。

在這裡需要指出的是,對於每個實驗所給出的提示和分析,旨在培養學生用科學的方法去思考問題,解決問題,把學生的思路引上正軌,避免壞結構程式和壞習慣。當然,學生也不能拘泥於提示中所給出的方法,可以自己去設計更好的結構,更高效的演算法。

在實現的時候可以用c語言,和教材中演算法描述所用語言一致,這樣可以使學生將實際與所學知識較緊密地結合起來,上手比較容易。

本章還給出了實驗步驟的嚴格規範,學生嚴格按照實驗步驟規範進行實驗可以避免寫出結構不好、思路和概念不清的程式,有利於養成良好的程式設計習慣。

本章最後給出了實驗報告規範,起到了實驗報告規格範例的作用,也為以後寫跟軟體配套的文件打下了基礎。另外,本篇中的實驗示例是用面向過程的c語言進行設計和編寫程式,隨著電腦科學的發展,語言工具也越來越豐富,學生也可以用物件導向的語言來實現,增加視覺化的介面,進行更優良的設計。

隨著計算機效能的提高,它所面臨的軟體開發的複雜度也日趨增加,這就要求軟體開發需要系統的方法。一種常用的軟體開發方法,是用軟體工程的思想去設計,即將軟體開發過程劃分為分析、設計、實現和維護四個階段。雖然資料結構課程中的實驗題不如開發乙個軟體複雜,但為了培養乙個軟體工作者所應具備的科學工作的方法和作風,制訂了如下所述完成實驗的五個步驟。

通常,實驗題目的陳述比較簡潔,不能具體地闡述到底應該做什麼。因此,在進行設計之前,需要進一步的分析問題,明確要解決的問題是什麼,如果不知道問題是什麼就試**決這個問題,顯然是盲目的,會造成時間和精力的浪費。通過這一步驟,可以對問題進行更加明確的描述,包括輸入資料的格式、型別以及輸入形式,輸出資料的格式,對非法輸入的處理方式等。

這一步還應該為除錯程式準備好測試資料,要考慮邊緣情況。

在設計這一步驟中需分總體設計和詳細設計兩步實現。總體設計指的是,對問題描述中涉及的操作物件定義相應的資料型別,確定資料的邏輯結構,並劃分出相應的模組,也就是說要回答的問題是:「概括地說,應該如何解決問題?

」詳細設計指的是為選用的資料結構定義相應的儲存結構並寫出各函式的偽碼演算法。它要回答的問題是:「應該怎麼樣具體地解決這個問題,實現這個系統?

」在這個過程中,要綜合考慮系統功能,使系統結構清晰、合理、簡單和易於除錯。總體設計的結果是寫出資料結構的描述和各個主要模組的演算法,並找出模組之間的呼叫關係。詳細設計的結果是對資料結構和基本操作的規格說明作出進一步的描述,寫出資料儲存結構的型別定義,按照演算法書寫規範用類c語言寫出演算法框架。

這個步驟的任務是寫出正確的容易理解的程式模組。學生應該根據問題的性質和實際環境,選取一種適當的高階程式語言,把詳細設計的結果翻譯成用選定的語言書寫的程式。在程式編寫過程中要考慮程式的書寫規範,形成良好的編碼習慣,盡量做到語句簡潔,清晰。

另外,如何編寫程式才能較快地完成除錯是特別要注意的問題。

編碼之後,要分模組對程式進行檢查,一行行檢查各功能模組的**,看有無除語法錯誤以外的錯誤。檢查時可以用一組測試資料順著程式思路,手工執行程式,看最後結果是否是問題的解。這樣會對程式邏輯進行全面的理解。

上機準備包括以下幾個方面:

① 熟練掌握所需的程式語言(c語言),了解其書寫規範。

② 要特別注意c語言與教材中描述演算法的類c語言之間的細微差別。

③ 熟練運用除錯工具,考慮除錯方案,設計測試資料並手工執行,得出預期的結果。

上機除錯程式時要帶一本c語言教材或語法手冊,遇到問題可以隨時查閱。除錯時也可以按模組來進行,用測試資料來對程式進行檢查,糾錯。在除錯過程中要充分利用的各種方法,提高除錯效率。

除錯正確後,要對程式**和注釋進行整理,得出帶有完整注釋的結構清晰的程式。

在實驗完成後,要總結整個實驗過程,寫出該實驗的實驗報告。

本章最後給出了乙個實驗報告樣例,以供讀者參考。

實驗題目

班級姓名學號日期

1.程式的功能;

2.輸入輸出的要求;

3.測試資料。

1.本程式所用的抽象資料型別的定義;

2.主模組的流程及各子模組的主要功能;

3.模組之間的層次關係。

1.採用c語言定義相關的資料型別;

2.寫出各模組的偽碼演算法;

3.畫出函式的呼叫關係圖。

1.除錯中遇到的問題及對問題的解決方法;

2.演算法的時間複雜度和空間複雜度。

要求程式簡潔、清晰,主要語句帶注釋。

數值分析實驗報告 樣例

日期 2006.9.20 學號 2314130 班級信科41 姓名劉建煒 實驗課題 捨入誤差對計算的影響 數值微分精度與步長的關係 實驗目標 1.理解數值計算中的兩類主要誤差的概念 截斷誤差與捨入誤差。2.初步了解 演算法的選擇帶來不同的截斷誤差,從而使得計算結果的精度不同。3.初步體會捨入誤差對計...

語法分析實驗報告樣例

呼叫上次實驗編寫的詞法分析程式,實現 類pascal語言子集 的語法分析功能。該語言的語法元素包括以下幾條 程式開始符號 program 變數定義 varint string a,b,c,賦值語句 x a b c 復合語句 以begin end作為開始和結束的語句 分支語句 if then,if t...

有限元分析方法實驗報告樣例

深圳大學實驗報告 課程名稱 有限元分析方法 實驗專案名稱 幾何建模 網格劃分與邊界條件施加 學院 機電與控制工程學院 專業 機械設計製造及其自動化 指導教師 李積彬龔峰王長勝 報告人 張三學號 2009110000 班級 機械1班 實驗時間 2011 10 27 實驗報告提交時間 2011 11 0...