版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第9章程序設計基礎大學計算機基礎第一頁,共三十一頁。本章內(nèi)容程序設計結構化程序設計面向對象程序設計大學計算機基礎第二頁,共三十一頁。9.1
程序設計大學計算機基礎第三頁,共三十一頁。9.1
程序設計程序設計的方法程序設計的風格大學計算機基礎第四頁,共三十一頁。9.1.1
程序設計的方法程序設計程序設計是一門技術,需要相應的理論、技術、方法和工具來支持。程序設計方法程序設計方法是關于以什么觀點來研究問題并進行求解,以及如何進行系統(tǒng)構造的軟件方法學。就程序設計方法和技術的發(fā)展而言,主要經(jīng)過了結構化程序設計和面向對象程序設計階段。大學計算機基礎第五頁,共三十一頁。9.1.2程序設計的風格要形成良好的程序設計風格,主要應注重和考慮下述一些因素:源程序文檔化、數(shù)據(jù)說明、語句構造、輸入輸出方法、效率等。大學計算機基礎第六頁,共三十一頁。9.1.2程序設計的風格(續(xù))源程序文檔化□符號名的命名符號名即標識符,包括模塊名、變量名。常量名、標號名、子程序名以及數(shù)據(jù)區(qū)名、緩沖區(qū)名等。這些名字應能反映它所代表的實際東西,應有一定的實際意義,使其能夠見名知意,有助于對程序功能的理解。例如,表示次數(shù)的量用times,表示總量用total,表示平均值用average,表示和的量用sum等。為達此目的,不應限制名字的長度。大學計算機基礎第七頁,共三十一頁。9.1.2程序設計的風格(續(xù))程序的注釋夾在程序功中能的性注注釋釋是嵌程在序源員程與序日體后中的程,序用讀以者描之述間其通后信的的重要手段。正序語序語確言句言句的性或性或注注程注釋序釋序釋能夠通段夠通段幫常是常助置在置在讀于作于作者每什每什理個么個么解程工程工程序作序序,模,模,也塊也塊可就的就為開是開是后頭解頭續(xù)部釋部釋階下分下分段進,面進,面行測試和維它要它要護應“應“,當作當作提給什給什供么出么出明確程”確程”的序,序,指的或的導是整是。體執(zhí)體執(zhí)因說行說行此明了明了注,下,下釋對面對決的于的于不語理語理是解句解句可程會程會有序怎序怎可么本么本無的身樣的身樣,。大多數(shù)程序具而具而設有不有不計引要引要語導解導解言釋作釋作允許下用許下用使面。面用怎自么然作語,言因寫為注解釋釋,怎這么給作閱常讀常程序是序是帶來很大的與方程便序。本一身些正重正重規(guī)復的的程。序文本中,注釋行的數(shù)量占到整個源程序的1/3到1/2。注釋分為序言性注釋和功能性注釋。大學計算機基礎第八頁,共三十一頁。9.1.2程序設計的風格(續(xù))視覺組織——空格、空行和移行為使程序的結構一目了然,可以在程序中利用空格、空行、縮進等技巧使程序層次清晰。IF(…)THENIF(…)THEN……ELSE……ENDIF……ELSE……ENDIF大學計算機基礎第九頁,共三十一頁。9.1.2程序設計的風格(續(xù))數(shù)據(jù)說明數(shù)據(jù)說明的順序應規(guī)范,使數(shù)據(jù)屬性容易查找,也有利于測試、排錯和維護。原則上,數(shù)據(jù)說明的次序與語法無關,其次序是任意的。同一說明語句中變量說明有序化,當多個變量名用一個語句說明時,應當對這些變量按字母的順序排。使用注釋說明復雜數(shù)據(jù)結構。大學計算機基礎第十頁,共三十一頁。9.1.2程序設計的風格(續(xù))語句構造構造單個語句是編碼階段的任務;語句構造力求簡單直接,不能為了追求效率而使語句復雜化。為了便于閱讀和理解,不要一行多個語句。不同層次的語句應采用縮進形式,使程序的邏輯結構和功能特征更加清晰。要避免復雜的判定條件,避免多重的循環(huán)嵌套。表達式中使用括號以提高運算次序的清晰度等等。大學計算機基礎第十一頁,共三十一頁。9.1.2程序設計的風格(續(xù))輸入輸出方法輸入操作步驟和輸入格式盡量簡單應檢查輸入數(shù)據(jù)的合法性、有效性,報告必要的輸入狀態(tài)信息即及錯誤信息輸入一批數(shù)據(jù)時,使用數(shù)據(jù)或文件結束標志,而不要用計算來控制交互式輸入時,提供可用的選擇和邊界值當程序設計語言有嚴格的格式要求時,應保持輸入格式的一致性輸入數(shù)據(jù)表格化、圖形化大學計算機基礎第十二頁,共三十一頁。9.1.2程序設計的風格(續(xù))效率效率是指處理機時間和存儲空間的使用,對效率的追求應明確以下幾點:效率是一個性能要求,目標在需求分析時給出追求效率要建立在不損害程序可讀性或可靠性的基礎上,要先使程序正確、清晰,再提高程序效率提高程序效率的根本途徑在于選擇良好的設計方法、良好的數(shù)據(jù)結構算法,而不是靠編程時對程序語句做調(diào)整大學計算機基礎第十三頁,共三十一頁。9.2
結構化程序設計大學計算機基礎第十四頁,共三十一頁。9.2
結構化程序設計結構化程序設計的原則結構化程序設計的基本結構和特點結構化程序設計原則和方法的應用大學計算機基礎第十五頁,共三十一頁。9.2.1結構化程序設計的原則自頂向下程序設計時,應先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。先從最上層總目標開始設計,逐步使問題具體化。逐步求精對復雜問題,應設計一些子目標作過渡,逐步細化。大學計算機基礎第十六頁,共三十一頁。9.2.1結構化程序設計的原則(續(xù))模塊化模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊。限制使用goto語句goto語句的使用會導致程序流程的混亂,因此應限制使用。大學計算機基礎第十七頁,共三十一頁。9.2.2
結構化程序設計的基本結構和特點三種基本控制結構順序結構選擇結構循環(huán)結構程序優(yōu)點是:結構良好、各模塊間的關系清晰簡單、每一模塊內(nèi)部由基本單元組成,設計出的程序清晰易讀、可理解性好、容易設計、容易驗證其正確性、也容易維護。大學計算機基礎第十八頁,共三十一頁。結構化程序設計原則和方法的應用程序設計過程中的原則:自頂向下,逐步細化,由粗到細,一步步展開,把一個模塊的功能逐步分解,細化為一系列具體的步驟,進而翻譯成一系列用某種程序設計語言寫成的程序。大學計算機基礎第十九頁,共三十一頁。結構化程序設計原則和方法的應用在具體實施中,要注意以下幾點:使用語言中的順序、選擇、循環(huán)等有限的基本控制結構表示程序邏輯。選用的控制結構只準許有一個入口和一個出口。程序語句組成容易識別的塊,每塊只有一個入口和一個出口。復雜結構應該用基本控制結構進行組合嵌套來實現(xiàn)。語言中沒有的控制結構,可用一段等價的程序段模擬,但要求該程序段在整個系統(tǒng)中應前后一致。嚴格控制goto語句。大學計算機基礎第二十頁,共三十一頁。9.3
面向對象程序設計大學計算機基礎第二十一頁,共三十一頁。9.3
面向對象程序設計面向對象程序設計概述面向對象方法的特點面向對象程序設計的相關概念大學計算機基礎第二十二頁,共三十一頁。面向對象程序設計概述面向對象程序設計方法是一種把面向對象的思想運用于軟件開發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,簡稱OO方法,是建立在“對象”概念(對象、類和繼承)基礎上的方法學。大學計算機基礎第二十三頁,共三十一頁。面向對象程序設計概述(續(xù))面向對象程序設計基本思想對問題空間進行自然分割,以更接近人類思維的方式,建立問題域模型,以便對客觀實體進行結構模擬和行為模擬,從而使所設計出的軟件盡可能直接地描述現(xiàn)實世界,構造出模塊化的、可重用的、維護性好的軟件,并能夠控制軟件的復雜性和降低開發(fā)維護費用。大學計算機基礎第二十四頁,共三十一頁。面向對象方法的特點面向對象方法按照人類的自然思維方式,面對客觀世界建立軟件系統(tǒng)模型。對象、類、繼承、封裝、消息等基本概念符合人類的自然思維方式。
系統(tǒng)由對象構成,對象是一個包含屬性和操作兩方面的獨立單元,對象之間通過消息傳遞聯(lián)系。有利于對業(yè)務領域和系統(tǒng)責任的理解,有利于人員的交流。大學計算機基礎第二十五頁,共三十一頁。面向對象方法的特點(續(xù))面向對象方法對需求變化有較好的適應性。面向對象的封裝機制使開發(fā)人員可以把最穩(wěn)定的部分(即對象)作為構筑系統(tǒng)的基本單位,而把容易發(fā)生變化的部分(即屬性與操作)封裝在對象之內(nèi)。對象之間通過接口聯(lián)系,使得需求變化的影響盡可能地限制在對象的內(nèi)部。面向對象方法支持軟件復用。對象具有封裝性和信息隱蔽等特性,使其容易實現(xiàn)軟件復用。大學計算機基礎第二十六頁,共三十一頁。面向對象方法的特點(續(xù))對象類可以派生成新類,類可以產(chǎn)生實例對象,從而實現(xiàn)了對象類數(shù)據(jù)結構和操作代碼的軟件復用。面向對象程序設計語言的開發(fā)環(huán)境一般預定義了系統(tǒng)動態(tài)鏈接庫,提供大量公用程序代碼,提高了開發(fā)效率和質量。面向對象的軟件系統(tǒng)可維護性好。
系統(tǒng)出錯時容易定位和修改,而且不至于牽一發(fā)而動全身。大學計算機基礎第二十七頁,共三十一頁。9.3.3面向對象程序設計的相關概念對象對象是程序的基本單位,是一組數(shù)據(jù)(屬性)和施加于這些數(shù)據(jù)上的一組操作代碼(操作)構成的邏輯實體。消息消息是為了實現(xiàn)某一功能而要求某個對象執(zhí)行其中某個功能操作的規(guī)格說明。對象之間的相互服務是通過消息來連接實現(xiàn)的。大學計算機基礎第二十八頁,共三十一頁。9.3.3面向對象程序設計的相關概念(續(xù))屬性、事件和方法屬性是對象具有的特征或某一方面的行為。事件是指對象能夠識別的動作,可以編寫相應的代碼對此動作進行響應,事件可由系統(tǒng)發(fā)生,也可由用戶執(zhí)行某種操作來發(fā)生。方法是對象能夠執(zhí)行的操作,是對象具有的功能體現(xiàn),是實現(xiàn)每條消息具體功能的手段。大學計算機基礎第二十九頁,共三十一頁。9.3.3面向對象程序設計的相關概念(續(xù))繼承繼承是一個類(子類)直接使用另一個類(父類)的所有屬性和方法(權限為私有的屬性和方法除外)。繼承具有傳遞性。封裝封裝性說明包含和隱藏對象信息,如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨源授權合同范本
- 08年商品房買賣合同范本
- 商鋪合同范本皮
- 機油用油合同范本
- 外科護理(第3版)課件 第八章 外科感染病人的護理
- 企業(yè)研發(fā)合同范本
- 微生物學檢驗技術 課件 30項目三十:擴散法藥敏試驗
- 商標權轉讓合同范本
- 開發(fā)app合同范本
- 增強型體外反搏臨床治療
- 光伏電站施工組織設計
- 全人教版四年級英語上冊期中考試知識點匯總-必背的重點
- XMT-7000溫控儀使用說明書
- 2023年1月高三英語試題(浙江卷)+聽力+答案+作文
- 漢字聽寫大賽匯總成語
- 主要動物疫病檢疫-共患病檢疫(動物防疫與檢疫技術)
- 體位引流課件
- 媒介倫理及規(guī)范案例教學演示文稿
- 混凝土有限公司安全管理工作責任追究制度
- 人教版三年級數(shù)學上冊“倍的認識”作業(yè)設計
- 大數(shù)據(jù)可視化知到章節(jié)答案智慧樹2023年浙江大學
評論
0/150
提交評論