版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第2章程序設計基礎
2.1程序設計方法與風格為了測試和維護程序,往往還要閱讀和跟蹤程序,因此程序設計的風格總體而言應該強調(diào)簡單和清晰,程序必須是可以理解的??梢哉J為,著名的“清晰第一,效率第二”的論點己成為當今主導的程序設計風格。
要形成良好的程序設計風格,主要應注重和考慮下述一些因素。1.源程序文檔化
源程序文檔化應考慮如下幾點:
(1)符號名的命名。
(2)程序注釋。
(3)視覺組織:利用空格、空行、縮進等技巧使程序?qū)哟吻逦?/p>
2.數(shù)據(jù)說明的方法
更易于理解和維護3.語句的結構
程序應該簡單易懂,語句構造應該簡單直接4.輸入和輸出輸入和輸出方式和格式應盡可能方便用戶的使用
2.2結構化程序設計
2.2.1結構化程序設計方法的原則結構化程序設計方法的主要原則可以概括為:自項向下,逐步求精,模塊化,限制使用goto語句。
2.2.2結構化程序的基本結構與特點程序設計語言僅僅使用順序、選擇和循環(huán)三種基本控制結構就足以表達出各種其他形式結構的程序設計方法。
1.順序結構
2.選擇結構(又稱為分支結構)
3.循環(huán)結構(又稱為重復結構)
2.2.3結構化程序設計原則和方法的應用
基于對結構化程序設計原則、方法以及結構化程序基本構成結構的掌握和了解,在結構化程序設計的具體實施中,要注意把握如下要素:1.使用程序設計語言中的順序、選擇、循環(huán)等有限的控制結構表示程序的控制邏輯;2.選用的控制結構只準許有一個入口和一個出口;3.程序語句組成容易識別的塊,每塊只有一個入口和一個出口;4.復雜結構應該用嵌套的基本控制結構進行組合嵌套來實現(xiàn);5.語言中所沒有的控制結構,應該采用前后一致的方法來模擬;6.嚴格控制GOTO語句的使用。
2.3面向?qū)ο蟮某绦蛟O計
2.3.1面向?qū)ο蠓椒ǎ╫bjectoriented)本質(zhì)上主張從客觀世界固有的事物出發(fā)來構造系統(tǒng),提倡用人類在現(xiàn)實生活中常用的思維方法來認識、理解和描述客觀事物。
優(yōu)點:1.與人類習慣的思維方法一致2.穩(wěn)定性好3.可重用性好傳統(tǒng)的軟件重用技術是利用標準函數(shù)庫。對象所固有的封裝性,使得對象的內(nèi)部實現(xiàn)與外界隔離,具有較強的獨立性。繼承性機制使得子類不僅可以重用其父類的數(shù)據(jù)結構和程序代碼,而且可以在父類代碼的基礎上方便地修改和擴充,這種修改并不影響對原有類的使用。4.易于開發(fā)大型軟件產(chǎn)品5.可維護性好
2.3.2面向?qū)ο蠓椒ǖ幕靖拍?/p>
1、對象(object)應用領域中有意義的、與所要解決的問題有關系的任何事物都可以作為對象。面向?qū)ο蟮某绦蛟O計方法中涉及的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構成系統(tǒng)的一個基本單位,它由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。
屬性:對象所包含的信息,它在設計對象時確定,一般只能通過執(zhí)行對象的操作來改變。
操作:
描述了對象執(zhí)行的功能,若通過消息傳遞,還可以為其他對象使用。這個過程已經(jīng)封裝在對象中,用戶也看不到。對象的這一特性,即是對象的封裝性。
對象有如下一些基本特點:(1)標識惟一性。(2)分類性。(3)多態(tài)性。(4)封裝性。(5)模塊獨立性好。
2.類(Class)和實例(Instance)類是具有共同屬性、共同方法的對象的集合。
所以,類是對象的抽象,它描述了屬于該對象類型的所有對象的性質(zhì),而一個對象則是其對應類的一個實例。
3.消息
對象間的這種相互合作需要一個機制協(xié)助進行,這樣的機制稱為“消息”。消息是一個實例與另一個實例之間傳遞的信息。
消息中只包含傳遞者的要求,它告訴接受者需要做哪些處理,但并不指示接受者應該怎樣完成這些處理。
一個對象能夠接受不同形式、不同內(nèi)容的多個消息;相同形式的消息可以送往不同的對象,不同的對象對于形式相同的消息可以有不同的解釋,能夠做出不同的反映。一個對象可以同時往多個對象傳遞信息,兩個對象也可以同時向某個對象傳遞消息。
4.繼承(Inheritance)
繼承是使用己有的類定義作為基礎建立新類的定義技術。廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復定義它們。一個類直接繼承其父類的描述(數(shù)據(jù)和操作)或特性,子類自動地共享基類中定義的數(shù)據(jù)和方法。
繼承具有傳遞性。繼承分為單繼承與多重繼承。
單繼承:一個類只允許有一個父類,即類等級為樹形結構。
多重繼承:
一個類允許有多個父類。多重繼承的類可以組合多個父類的性質(zhì)構成所需要的性質(zhì)。因此,功能更強,使用更方便。但是,使用多重繼承時要注意避免二義性。繼承性的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結構,從而大大減少了程序中的冗余信息。
圖多重繼承
5.多態(tài)性(Polymphism)
對象根據(jù)所接受的消息而做出動作,同樣的消息被不同的對象接受時可導致完全不同的行動,該現(xiàn)象稱為多態(tài)性。多態(tài)性機制不僅增加了面向?qū)ο筌浖到y(tǒng)的靈活性,進一步減少了信息冗余,利用多態(tài)性,用戶能夠發(fā)送一般形式的消息,而將所有的實現(xiàn)細節(jié)都留給接受消息的對象。
程序與計算機語言
程序程序是指揮計算機實現(xiàn)某一特定功能的一組命令序列,是指令的有序集合,是由程序計數(shù)器控制的一系列語句和指令程序設計程序設計是指設計、編制、調(diào)試程序的方法和過程,其內(nèi)容涉及有關的程序基本概念、編程工具、方法以及方法學等,是目標明確的智力活動。計算機語言計算機語言指用于人與計算機之間通信的語言,是人與計算機之間傳遞信息的媒介。計算機語言主要分為機器語言、匯編語言和高級語言3種。使用匯編語言和高級語言編寫的程序稱為源程序,而使用機器語言編寫的程序則稱為目標程序。語言處理程序
計算機并不能直接接收和執(zhí)行用匯編語言或高級語言編寫的源程序。源程序在輸入計算機時,必須經(jīng)由語言處理程序“翻譯”成機器語言形式的目標程序,才能被計算機識別和執(zhí)行。計算機語言
機器語言機器語言是二進制編碼形式的機器指令及其使用規(guī)則的集合。它是目前計算機硬件唯一可以直接識別和執(zhí)行的語言。。匯編語言匯編語言是一種符號語言。每一種處理器都會有自己專屬的匯編語言語法規(guī)則和編譯器。即使是同一種類型的處理器,也可能擁有不同的匯編語言編譯器。低級語言包括機器語言和匯編語言,這兩種語言都是面向機器的語言高級語言高級語言接近人們?nèi)粘J煜さ淖匀徽Z言和數(shù)學語言,可讀性強,編程方便。目前絕大部分的程序員編寫程序時多使用高級語言。高級語言有許多種,使用比較普遍的有C、C++、Pascal、C#、VisualBasic、Delphi、Java、Python、Lisp和Prolog等。程序設計方法
程序設計的過程就是分析要解決的實際問題,得出解決問題的具體方法和步驟,并且用某種計算機語言編寫成可執(zhí)行程序的過程。數(shù)據(jù)結構算法程序設計程序設計方法兩大類
面向過程在解決問題時采用功能分解方法,即將一個系統(tǒng)看作一些功能塊的組合,這些功能塊可以被進一步分解,直到參與設計和編程的人員可以理解的步驟和過程為止。面向過程的程序設計方法只允許全部程序均由順序、分支和循環(huán)3類基本結構構成。常用的面向過程程序設計的高級語言主要有C語言、Basic語言、Pascal語言、Fortran語言、COBOL語言、Ada語言等。面向?qū)ο笸ㄟ^面向?qū)ο蟮姆绞?,將現(xiàn)實世界的事物抽象成對象,現(xiàn)實世界中的關系抽象成類、繼承,幫助人們實現(xiàn)對現(xiàn)實世界的抽象與數(shù)字建模。更有利于采用人能理解的方式對復雜系統(tǒng)進行分析、設計與編程。系統(tǒng)可以像搭積木一樣被快速開發(fā)出來。常用面向?qū)ο蟪绦蛟O計的高級語言主要有Java、C++、C#、VisualBasic、Delphi等。兩種程序設計方法對比
面向過程程序的可重用性差通訊機制幾乎空白數(shù)據(jù)處理范圍較小程序的數(shù)據(jù)與操作相分離面向?qū)ο蟪绦虿灰桌斫獬鯇W者入門有困難程序的依賴性分析有難度一、選擇題1.結構化程序設計主要強調(diào)的是()A)程序的規(guī)模B)程序的易讀性
C)程序的執(zhí)行效率
D)程序的可移植性
B習題2對建立良好的程序設計風格,下面描述正確的是()A)程序應簡單、清晰、可讀性好
B)符號名的命名只要符合語法
C)充分考慮程序的執(zhí)行效率
D)程序的注釋可有可無
A3.在面向?qū)ο蠓椒ㄖ?,一個對象請求另一對象為其服務的方式是通過發(fā)送()A)調(diào)用語句
B)命令C)口令
D)消息
D4.信息隱蔽的概念與下述哪一種概念直接相關?()A)軟件結構定義
B)模塊獨立性C)模塊類型劃分
D)模塊耦合度
B5.下面對對象概念描述錯誤的是()A)任何對象都必須有繼承性
B)對象是屬性和方法的封裝體
C)對象間的通訊靠消息傳遞
D)操作是對象的動態(tài)屬性
A二、填空題
1
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021教師節(jié)座談會青教師發(fā)言稿范文
- 2024年甲方家庭與乙方月嫂寵物護理合同
- 2024年精練商鋪租賃合同范本
- 土木工程專業(yè)實習報告錦集8篇
- 2024年環(huán)保設備更新采購協(xié)議范本版
- 教師節(jié)日演講稿范文
- 2024年版權質(zhì)押合同法律風險評估
- 2021小學教師讀書心得范文
- 2025江蘇省全日制勞動合同書范本
- DB45T 2530-2022 農(nóng)村公路管理與養(yǎng)護規(guī)范
- 籃球裁判手勢圖解匯總
- 共有因子評價問答表
- cmmi3過程域直接證據(jù)
- 初三數(shù)學中考模擬試卷共八套
- 經(jīng)典繪本推薦--《果果的花朵》
- 蛋白質(zhì)分選與膜泡運輸
- 彈簧設計公差標準
- X62W萬能銑床電氣控制
- 常用普通螺紋加工的中徑和頂徑極限偏差快速查詢表
- 質(zhì)量認證基礎知識(共218頁).ppt
- ACOG指南:妊娠期高血壓疾病指南(專家解讀)
評論
0/150
提交評論