伏安法測電阻實驗課件_第1頁
伏安法測電阻實驗課件_第2頁
伏安法測電阻實驗課件_第3頁
伏安法測電阻實驗課件_第4頁
伏安法測電阻實驗課件_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第11章程序設計基礎2024/4/2第11章程序設計基礎第11章程序設計基礎2024/4/1第11章程序設計基礎1 通過本章的教學,使學生理解軟件開發(fā)的整體流程,了解數據結構的意義。基本要求及教學目的第11章程序設計基礎基本要求及教學目的第11章程序設計基礎2教學要點 本門課程的學習方法、指定本課程的課外閱讀書籍及閱讀成果的表現形式、考核方法,1學時;程序的思想、數據結構、算法2學時。第11章程序設計基礎教學要點 本門課程的學習方法、指定本課程的課外閱讀書籍及3重點及難點重點: 軟件設計的總體流程、數據結構及算法的理解。難點: 編寫程序,設計算法。

第11章程序設計基礎重點及難點重點:第11章程序設計基礎411.1程序設計概述11.1.1程序設計語言的分類

按照語言級別可以分為低級語言和高級語言。按照用戶的要求有過程式語言和非過程式語言之分。按照應用范圍,有通用語言與專用語言之分按照使用方式,有交互式語言和非交互式語言之分。按照成分性質,有順序語言、并發(fā)語言和分布語言之分。第11章程序設計基礎11.1程序設計概述11.1.1程序設計語言的分類第511.1.2程序設計的基本過程

程序設計包括分析問題、畫出程序的基本輪廓和實現該程序這三個基本步驟。1.分析問題3.實現程序2.形成程序的基本輪廓第11章程序設計基礎11.1.2程序設計的基本過程第11章程序設計基礎611.2軟件工程軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到程序設計語言、數據庫、軟件開發(fā)工具、系統(tǒng)平臺、標準、設計模式等方面。第11章程序設計基礎11.2軟件工程軟件工程是一711.2.1軟件工程的基本概念1.軟件軟件是計算機系統(tǒng)必不可少的組成部分,是程序、數據和相關文檔的集合。其中程序是軟件開發(fā)人員根據用戶需求開發(fā)的、用程序設計語言描述的、適合計算機執(zhí)行的指令序列;數據是使程序正常操縱信息的數據結構;文檔是與程序開發(fā)、維護和使用相關的各種圖文資料。第11章程序設計基礎11.2.1軟件工程的基本概念第11章程序設計基礎82.軟件危機隨著計算機應用的日益普及,軟件需求量急劇增大在軟件發(fā)展的初期許多程序員沒有接受過正規(guī)的教育,他們邊學習邊開發(fā);在組織方面,解決問題的方法就是增加更多的程序員到項目中去。結果,軟件通常時難以按時交付,程序也不能像用戶期望的那樣工作,程序很少能適應變化的環(huán)境,而且在軟件交付給用戶之后又會發(fā)現很多錯誤。更嚴重的是,許多程序的個體化特征使得它們最終成為不可維護的軟件,這就是“軟件危機”。第11章程序設計基礎2.軟件危機第11章程序設計基礎93.軟件工程

為了更有效地開發(fā)和維護軟件,逐漸形成了一門新的工程學科,即計算機軟件工程學,簡稱為軟件工程。第11章程序設計基礎3.軟件工程第11章程序設計基礎1011.2.2軟件開發(fā)方法軟件工程中的開發(fā)方法主要有3種:面向過程的方法面向對象的方法面向數據的方法

第11章程序設計基礎11.2.2軟件開發(fā)方法第11章程序設計基礎111.面向過程的方法面向過程的方法又稱為結構化方法。它包括面向過程需求分析、面向過程設計、面向過程編程、面向過程測試、面向過程維護和面向過程管理,習慣上稱為結構化分析、結構化設計、結構化編程、結構化測試和結構化維護。第11章程序設計基礎1.面向過程的方法第11章程序設計基礎122.面向對象的方法

面向對象的方法包括面向對象需求分析、面向對象設計、面向對象編程、面向對象測試、面向對象維護和面向對象管理。第11章程序設計基礎2.面向對象的方法第11章程序設計基礎133.面向數據的方法面向數據的方法也稱為面向元數據的方法。元數據是關于數據的數據,組織數據的數據。如數據庫概念設計中的實體名和屬性名、數據庫物理設計中的表名和字段名就是元數據。而一個具體的特定的實例就不是元數據,而叫做對象或記錄,是被元數據組織或統(tǒng)帥的數據。第11章程序設計基礎3.面向數據的方法第11章程序設計基礎1411.2.3軟件生命周期1.軟件生命周期軟件生命周期是指軟件產品從提出開始直到停止使用的全過程。概括地講,軟件生命周期是由軟件定義、軟件開發(fā)和軟件維護3個時期組成,每個時期又進一步劃分成若干個階段。第11章程序設計基礎11.2.3軟件生命周期第11章程序設計基礎152.軟件生命周期模型軟件生命周期模型表達的是軟件生命周期內各種活動如何組織,以及各個階段應該如何銜接,它給出的是直觀的圖示表達。目前,提出的軟件生命周期模型主要有瀑布模型、螺旋模型、原型模型、噴泉模型和職能模型等。第11章程序設計基礎2.軟件生命周期模型第11章程序設計基礎1611.2.4軟件測試軟件測試和軟件質量是密不可分的。測試是手段,質量是目的,因此軟件分析與測試已成為現代軟件工程學研究和應用的熱點。軟件測試是軟件質量保證的關鍵,是對計劃、設計和編碼的最終檢查,是發(fā)現軟件中錯誤和缺陷的主要手段。一般情況下,軟件測試過程與整個軟件開發(fā)過程基本上是平行進行的。第11章程序設計基礎11.2.4軟件測試第11章程序設計基礎171.軟件測試的目的2.軟件測試的原則3.軟件測試的方法4.軟件測試過程第11章程序設計基礎第11章程序設計基礎1811.2.5軟件維護軟件維護是指在軟件已經交付使用之后(即運行維護階段),為了改正錯誤或滿足新的需要而修改軟件的過程。它是軟件開發(fā)周期的最后一個階段,處于系統(tǒng)投入生產性運行之后的時期。

第11章程序設計基礎11.2.5軟件維護第11章程序設計基礎1911.2.6軟件開發(fā)工具與軟件開發(fā)環(huán)境1.軟件開發(fā)工具軟件開發(fā)工具是一種軟件,是輔助和支持其他軟件研制和維護工作的工具?,F代軟件工程方法能得以實施,重要的保證是軟件開發(fā)工具和環(huán)境的保證,使軟件在效率和質量等方面得到了改善。

2.軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境(SDE)又稱為集成式項目支撐環(huán)境(IPSE),是一組相關的軟件工具的集合,將它們組織在一起,可以支持某種軟件開發(fā)方法。

第11章程序設計基礎11.2.6軟件開發(fā)工具與軟件開發(fā)環(huán)境第11章程序設計基礎2011.3算法

11.3.1算法的概念算法是對解決某一特定問題的操作步驟地具體描述,或者說算法是解決一個問題而采取的方法和步驟。如上網的過程是:打開瀏覽器的窗口、輸入網址、在網頁上操作、關閉網頁,這就是“上網算法”。第11章程序設計基礎11.3算法11.3.1算法的概念第11章程2111.3.2算法的特征一個好的算法應該具有以下幾個特性:1.正確性2.可讀性3.準確性4.高效率和低存儲量第11章程序設計基礎11.3.2算法的特征第11章程序設計基礎2211.3.2算法的特征一個好的算法應該具有以下幾個特性:1.正確性2.可讀性3.準確性4.高效率和低存儲量第11章程序設計基礎11.3.2算法的特征第11章程序設計基礎2311.3.3算法的表示1.自然語言2.傳統(tǒng)流程圖3.N-S圖4.偽代碼5.計算機語言第11章程序設計基礎11.3.3算法的表示第11章程序設計基礎2411.3.4算法設計的基本方法1.列舉法2.歸納法3.遞推法4.遞歸法5.回溯法第11章程序設計基礎11.3.4算法設計的基本方法第11章程序設計基礎2511.3.5算法的復雜度算法的優(yōu)劣與它的復雜度有關,而算法的復雜度是算法效率的度量,是評價算法優(yōu)劣的重要依據。一個算法的復雜度的高低體現在運行該算法所需要的計算機資源的多少上面,算法所需的資源越多,其復雜度就越高;相反,算法所需的資源越低,其復雜性就越低。第11章程序設計基礎11.3.5算法的復雜度第11章程序設計基礎261.時間復雜度一個算法的運行時間不是固定的,而是受到了多種因素的影響,比如使用的語言不同、使用不同的編譯程序、運行環(huán)境的不同等。2.空間復雜度算法的空間復雜度,主要是考慮算法所占有系統(tǒng)資源的情況。第11章程序設計基礎1.時間復雜度第11章程序設計基礎2711.4數據結構

數據結構主要研究的問題是:(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構。(2)在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構。(3)對各種數據結構進行的運算。第11章程序設計基礎11.4數據結構第11章程序設計基礎2811.4.1數據結構的概念1.數據(Data)2.數據元素(DataElement)3.數據對象(DataObject)4.數據類型(DataType)5.數據結構(DataStructure)第11章程序設計基礎11.4.1數據結構的概念第11章程序設計基礎2911.4.2線性表

數據結構分為線性結構和非線性結構。在線性結構中有且僅有一個無前驅的結點和一個無后繼的結點,并且所有結點都最多只有一個前驅和一個后繼。典型的線性結構有線性表、順序表。第11章程序設計基礎11.4.2線性表第11章程序設計基礎301.線性表的定義2.線性表的順序存儲表示3.線性表的運算4.線性表的鏈式存儲表示第11章程序設計基礎1.線性表的定義第11章程序設計基礎3111.4.3棧和隊列1.棧(Stack)棧是一種特殊的線性表,這種線性表上的插入和刪除運算限定在表的一端進行2.隊列(Queue)隊列是只允許在一端進行插入元素,而在另外一端進行刪除元素的線性表。

第11章程序設計基礎11.4.3棧和隊列第11章程序設計基礎3211.4.4樹和二叉樹樹型結構是一類重要的非線性數據結構。其中以樹和二叉樹最為常用,直觀看來,樹是以分支關系定義的層次結構。

第11章程序設計基礎11.4.4樹和二叉樹第11章程序設計基礎331.樹(Tree)樹是n(n≥0)個結點組成的有限集。在任意一棵非空樹中:(1)有且僅有一個特定的結點稱為根結點;(2)當n>1時,其余結點可分為m(m>0)個互不相交的有限集T1,T2,…,Tm,其中每一個集合本身又是一棵樹,并且稱為根的子樹(SubTree)。第11章程序設計基礎1.樹(Tree)第11章程序設計基礎342.二叉樹(BinaryTree)

二叉樹是另一種樹型結構,它的特點是每個結點至多只有兩棵子樹(即二叉樹中不存在度大于2的結點),并且,二叉樹的子樹有左右之分,其次序不能任意顛倒。第11章程序設計基礎2.二叉樹(BinaryTree)第11章程序設計基礎3511.4.5圖

圖(Graph):由兩個集合V(G)和E(G)所組成,記做G=(V,E),其中V(G)是圖中頂點的非空有限集合,E(G)是邊的有限集合。第11章程序設計基礎11.4.5圖第11章程序設計基礎36

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論