第二章程序設計基礎課件_第1頁
第二章程序設計基礎課件_第2頁
第二章程序設計基礎課件_第3頁
第二章程序設計基礎課件_第4頁
第二章程序設計基礎課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章程序設計基礎2.1程序設計方法與風格2.2結構化程序設計

2.3面向對象的程序設計方法第二章程序設計基礎2.1程序設計方法與風格2.1.1計算機程序與程序設計語言1.幾個術語程序。程序是將計算機語言代碼依據一定的語法規(guī)則,描述為完成特定任務的算法的指令序列。簡單說,程序就是對計算機工作規(guī)則的描述,規(guī)則可以是不相同的。第二章程序設計基礎程序設計。程序設計為完成一項程序工作的過程。計算機語言。計算機語言是人與計算機交流的工具。算法+數(shù)據結構=程序。這是計算機科學家NiklausWirth給出的程序定義,即著名的Wirth公式。第二章程序設計基礎2.計算機程序設計語言

表2-1 計算機語言分類示例語言級別語言類別范例低級語言機器語言匯編語言高級語言(過程化語言/算法語言)C,F(xiàn)ortran,BASIC等非過程化語言(非算法語言)FoxBASE系列(FoxBASE+、FoxPro等)、Sybase、Oracle等面向對象語言VisualC++、VB、VF等第二章程序設計基礎(1)機器語言(2)匯編語言(3)高級語言第二章程序設計基礎2.1.2編碼風格編碼風格是指在不影響程序正確性和效率的前提下,有效編排和合理組織程序的基本原則。一個具有良好編碼風格的程序主要表現(xiàn)為可讀性好,易測試,易維護。程序設計的風格主要強調:“清晰第一,效率第二”(抓住該宗旨,做考題就有了原則和方向了)。第二章程序設計基礎1、源程序文檔化1)符號名的命名。符號名能反映它所代表的實際東西,應有一定的實際含義。第二章程序設計基礎2)程序的注釋。分為序言性注釋和功能性注釋。序言性注釋序言性注釋一般位于模塊的首部,位于程序開頭部分,包括程序標題、程序功能說明、主要算法、接口說明、程序位置、開發(fā)簡歷、程序設計者、復審者、復審日期及修改日期等。描述性注釋(功能性注釋)嵌在源程序體之中,用于描述其后的語句或程序的主要功能。3)視覺組織。利用空格、空行、縮進等技巧使程序層次清晰。第二章程序設計基礎2、數(shù)據說明1)數(shù)據說明的次序規(guī)范化;2)說明語句中變量安排有序化;3)使用注釋來說明復雜數(shù)據的結構。第二章程序設計基礎3、語句的結構1)在一行內只寫一條語句;2)程序編寫應優(yōu)先考慮清晰性;3)程序編寫要做到清晰第一,效率第二;4)在保證程序正確的基礎上再要求提高效率;5)避免使用臨時變量而使程序的可讀性下降;6)避免不必要的轉移;7)盡量使用庫函數(shù);8)避免采用復雜的條件語句;第二章程序設計基礎9)盡量減少使用“否定”條件語句;10)數(shù)據結構要有利于程序的簡化;11)要模塊化,使模塊功能盡可能單一化;12)利用信息隱蔽,確保每一個模塊的獨立性13)從數(shù)據出發(fā)去構造程序;14)不要修補不好的程序,要重新編寫。第二章程序設計基礎4、輸入/輸出1)對輸入數(shù)據檢驗數(shù)據的合法性;2)檢查輸入項的各種重要組合的合法性;

3)輸入格式要簡單,使得輸入的步驟和操作盡可能簡單;4)輸入數(shù)據時,應允許使用自由格式;5)應允許缺省值;6)輸入一批數(shù)據時,最好使用輸入結束標志;第二章程序設計基礎4、輸入/輸出7)在以交互式輸入/輸出方式進行輸入時,要在屏幕上使用提示符明確提示輸入的請求,同時在數(shù)據輸入過程中和輸入結束時,應在屏幕上給出狀態(tài)信息;8)當程序設計語言對輸入格式有嚴格要求時,應保持輸入格式與輸入語句的一致性;給所有的輸出加注釋,并設計輸出報表格式。第二章程序設計基礎2.2結構化程序設計結構化程序設計的主要思想是功能分解并逐步求精。當一些任務十分復雜不描述時,可以將它拆分為一系列較小的功能部件,直到這些子任務小到易于理解和實現(xiàn)的程度。1、結構化程序設計方法的主要原則

自頂向下,逐步求精,模塊化,限制使用goto語句(高頻考點)。第二章程序設計基礎(1)自頂向下。程序設計時,應先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節(jié),先從最上層總目標開始設計,逐步使問題具體化。(2)逐步求精。對復雜問題,應設計一些子目標作過渡,逐步細化。(3)模塊化。一個復雜問題,肯定是由若干稍簡單的問題構成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊。(4)限制使用goto語句。第二章程序設計基礎2、結構化程序的基本結構分為:順序結構,選擇結構,重復結構。1)順序結構。一種簡單的程序設計,即按照程序語句行的自然順序,一條語句一條語句地執(zhí)行程序,它是最基本、最常用的結構。2)選擇結構。又稱分支結構,包括簡單選擇和多分支選擇結構,可根據條件,判斷應該選擇哪一條分支來執(zhí)行相應的語句序列。3)重復結構。又稱循環(huán)結構,可根據給定的條件,判斷是否需要重復執(zhí)行某一相同的或類似的程序段。第二章程序設計基礎結構化程序設計原則和方法的應用結構化程序設計中,要注意把握如下要素:①使用程序設計語言中的順序、選擇、循環(huán)等有限的控制結構表示程序的控制邏輯;②選用的控制結構只準許有一個入口和一個出口;③程序語言組成容易識別的塊,每塊只有一個入口和一個出口;④復雜結構應該用嵌套的基本控制結構進行組合嵌套來實現(xiàn);⑤語言中所有的控制結構,應該采用前后一致的方法來模擬;⑥盡量避免作用GOTO語句。第二章程序設計基礎2.3面向對象的程序設計方法背景客觀世界中任何一個事物都可以被看成是一個對象,面向對象方法的本質就是主張從客觀世界固有的事物出發(fā)來構造系統(tǒng),提倡人們在現(xiàn)實生活中常用的思維來認識、理解和描述客觀事物,強調最終建立的系統(tǒng)能夠映射問題域。也就是說,系統(tǒng)中的對象及對象之間的關系能夠如實地反映問題域中固有的事物及其關系。第二章程序設計基礎1、面向對象方法的主要優(yōu)點(1)與人類習慣的思維方法一致;(2)穩(wěn)定性好;(3)可重用性好;(4)易于開發(fā)大型軟件產品;(5)可維護性好。第二章程序設計基礎2、面向對象的程序設計主要考慮的是提高軟件的可重用性對象是面向對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向對象的程序設計方法中的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。第二章程序設計基礎3、對象是屬性和方法的封裝體客觀世界中的對象既具有靜態(tài)的屬性,又具有動態(tài)的行為,因此,面向對象方法學中的對象是由描述該對象屬性的數(shù)據以及可以對這些數(shù)據施加的操作封裝在一起構成的統(tǒng)一體。對象可以執(zhí)行的操作表示它的動態(tài)行為。屬性即對象所包含的信息,它在設計對象時確定,一般只能通過執(zhí)行對象的操作來改變。操作描述了對象執(zhí)行的功能,操作也稱為方法或服務。第二章程序設計基礎4、對象的基本特點(1)標識惟一性。指對象是可區(qū)分的,并且由對象的內在本質來區(qū)分,而不是通過描述來區(qū)分。(2)分類性。指可以將具有相同屬性的操作的對象抽象成類。(3)多態(tài)性。指同一個操作可以是不同對象的行為。第二章程序設計基礎4、對象的基本特點(4)封裝性。從外面看只能看到對象的外部特性,即只需知道數(shù)據的取值范圍和可以對該數(shù)據施加的操作,根本無需知道數(shù)據的具體結構以及實現(xiàn)操作的算法。對象的內部,即處理能力的實行和內部狀態(tài),對外是不可見的。從外面不能直接使用對象的處理能力,也不能直接修改其內部狀態(tài),對象的內部狀態(tài)只能由其自身改變。注:信息隱蔽是通過對象的封裝性來實現(xiàn)的。

第二章程序設計基礎4、對象的基本特點(5)模塊獨立性好。對象是面向對象的軟件的基本模塊,它是由數(shù)據及可以對這些數(shù)據施加的操作所組成的統(tǒng)一體,而且對象是以數(shù)據為中心的,操作圍繞對其數(shù)據所需做的處理來設置,沒有無關的操作。從模塊的獨立性考慮,對象內部各種元素彼此結合得很緊密,內聚性強。即:高內聚、低耦合。第二章程序設計基礎5、重要概念(1)類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應類的一個實例。(2)消息是一個實例與另一個實例之間傳遞的信息。在面向對象方法中,一個對象請求另一個對象為其服務的方式是通過發(fā)送消息。第二章程序設計基礎5、重要概念(3)繼承是指能夠直接獲得已有的性質和特征,而不必重復定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類。繼承的優(yōu)點是,相似的對象可以共享程序代碼和數(shù)據結構,從而大大減少了程序中的冗余信息,便于軟件修改維護。(4)方法:對象中的屬性只能通過該對象所提供的操作來存取或修改。第二章程序設計基礎圖2-1一般與特殊的關系第二章程序設計基礎5、重要概念(5)類的繼承性是類之間共享屬性和操作的機制,它提高了軟件的可重用性。(6)多態(tài)性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現(xiàn)象。多態(tài)性機制不僅增加了面向對象軟件系統(tǒng)的靈活性,進一步減少了信息冗余,而且顯著提高了軟件的可重用性的可擴充性。第二章程序設計基礎6、本章學習建議本章在考試中會出現(xiàn)約1~2個選擇題,是出題量較小的一章。本章內容比較少,也很簡單,掌握住基本的概念就可以輕松應對考試了。第二章程序設計基礎課堂練習:【2011年9月考題】下列選項中屬于面向對象設計方法主要特征的是A)繼承B)自頂向下C)模塊化D)逐步求精答案:A第二章程序設計基礎【2011年3月考題】結構化程序所要求的基本結構不包括A)順序結構B)GOT0跳轉C)選擇(分支)結構D)重復(循環(huán))結構答案:B第二章程序設計基礎【2007年9月考題】在面向對象方法中,實現(xiàn)信息隱蔽是依靠A)對象的繼承B)對象的多態(tài)C)對象的封裝D)對象的分類答案:C第二章程序設計基礎【2007年9月考題】下列敘述中,不符合良好程序設計風格要求的是A)程序的效率第一,清晰第二B)程序的可讀性好C)程序中要有必要的注釋D)輸入數(shù)據前要有提示信息答案:A第二章程序設計基礎(7)在面向對象方法中,一個對象請求另一個對象為其服務的方式是通過發(fā)送A)調用語句B)命令C)口令D)消息答案:D第二章程序設計基礎(8)同樣的消息被不同對象接受時可導致完全不同的行為,這種現(xiàn)

溫馨提示

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

評論

0/150

提交評論