《程序設計基礎(chǔ)》課件.ppt_第1頁
《程序設計基礎(chǔ)》課件.ppt_第2頁
《程序設計基礎(chǔ)》課件.ppt_第3頁
《程序設計基礎(chǔ)》課件.ppt_第4頁
《程序設計基礎(chǔ)》課件.ppt_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、二級公共基礎(chǔ)知識,第2章 程序設計基礎(chǔ),知識類型: 理 論 學 時: 2學時 分 值: 約4分,內(nèi)容提要,2.1 程序設計方法與風格 2.2 結(jié)構(gòu)化程序設計 2.3 面向?qū)ο蟮某绦蛟O計,2.1 程序設計方法與風格,2.1.1 程序設計方法 結(jié)構(gòu)化設計方法 模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分 各程序部分應按功能組合 各程序之間的聯(lián)系盡量通過調(diào)用子程序來實現(xiàn),不用或少用GOTO方式 面向?qū)ο蟪绦蛟O計方法,2.1.2 程序設計風格,原則:清晰第一,效率第二 1. 源程序中的內(nèi)部文檔 符號名的命名:有一定實際含義 程序的注釋: 序言性注釋 功能性注釋 程序的視覺組織:層次清晰 2. 數(shù)據(jù)說明

2、數(shù)據(jù)說明的次序規(guī)范化 說明語句中變量安排有序化 使用注釋來說明復雜數(shù)據(jù)的結(jié)構(gòu),2.1.2 程序設計風格(續(xù)),3語句的結(jié)構(gòu) 在一行內(nèi)只寫一條語句 程序編寫應優(yōu)先考慮清晰性 清晰第一,效率第二 在保證程序正確的基礎(chǔ)上再要求提高效率 避免使用臨時變量前使程序的可讀性下降 避免不必要的轉(zhuǎn)移 盡量使用庫函數(shù) 避免采用復雜的條件語句,盡量減少使用“否定”條件語句 數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化 要模塊化,使模塊功能盡可能單一化 利用信息隱蔽,確保每一個模塊的獨立性 從數(shù)據(jù)出發(fā)去構(gòu)造程序 不要修補不好的程序,要重新編寫,2.1.2 程序設計風格(續(xù)),4輸入和輸出 對輸入數(shù)據(jù)檢驗數(shù)據(jù)的合法性 檢查輸入項的各種

3、重要組合的合理性 輸人格式要簡單,使得輸入的步驟和操作盡可能簡單 輸人數(shù)據(jù)時,應允許使用自由格式 應允許缺省值 輸入一批數(shù)據(jù)時,最好使用輸入結(jié)束標志,在以交互式輸入/輸出方式進行輸人時,要在屏幕上使用提示符明確提示輸入的請求,同時在數(shù)據(jù)輸入過程中和輸入結(jié)束時,應在屏幕上給出狀態(tài)信息 當程序設計語言對輸入格式有嚴格要求時,應保持輸入格式與輸入語句的一致性;給所有的輸出加注釋,并設計輸出報表格式,3.2 結(jié)構(gòu)化程序設計,基本思想 關(guān)于GOTO語句 工程思想 結(jié)構(gòu)化思想 自頂向下,逐步求精,模塊化,限制使用GOTO語句,2.2.1 結(jié)構(gòu)化程序設計的原則,1自頂向下 2逐步求精 3模塊化 4限制使用G

4、OTO語句,2.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點,三種基本結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 重復結(jié)構(gòu),2.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(續(xù)),順序結(jié)構(gòu),2.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(續(xù)),選擇結(jié)構(gòu) 又稱分支結(jié)構(gòu) 簡單選擇結(jié)構(gòu) 多分支選擇結(jié)構(gòu),2.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(續(xù)),重復結(jié)構(gòu) 又稱為循環(huán)結(jié)構(gòu) 當型 直到型,2.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(續(xù)),特點 關(guān)系清晰、易讀、易理解性好、易維護。 “自頂向下、逐步細化”,提高效率,降低成本,2.2.3 結(jié)構(gòu)化程序設計原則和方法的應用,用有限的控制結(jié)構(gòu) 一個入口和一個出口 每塊只有一個入口和一個出口 使用嵌套 前后一致

5、 避免GOTO語句,2.3 面向?qū)ο蟮某绦蛟O計,2.3.1 關(guān)于面向?qū)ο蠓椒?對系統(tǒng)的復雜性進行概括、抽象和分類,使軟件的設計與現(xiàn)實形成一個由抽象到具體、由簡單到復雜這樣一個循序漸進的過程,從而解決大型軟件研制中存在的效率低、質(zhì)量難以保證、調(diào)試復雜、維護困難等問題。 結(jié)構(gòu)化的分解突出過程,即如何做(How to do)?它強調(diào)代碼的功能是如何實現(xiàn)的;面向?qū)ο蟮姆纸馔怀霈F(xiàn)實世界和抽象的對象,即做什么(What to do)?,2.3.1 關(guān)于面向?qū)ο蠓椒ǎɡm(xù)),主要優(yōu)點 與人類習慣的思維方法一致 穩(wěn)定性好 可重用性好 易于開發(fā)大型軟件產(chǎn)品 可維護性好,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍?1.對象

6、(Object) 什么是對象? 對象是軟件系統(tǒng)中用來描述客觀事物的一個實體。 一個對象由一組屬性和對這組屬性進行操作的一組服務構(gòu)成的 什么是對象的屬性? 屬性是事物的特征,表示事物的靜態(tài)特征。 什么是對象的操作? 操作指事物的功能,表示事物的動態(tài)特征,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍?1.對象(Object) 對象是基本的運行實體,它既包括數(shù)據(jù)(屬性),也包括作用于數(shù)據(jù)的操作(行為)。 一個對象把屬性和行為封裝為一個整體 一個對象通常可由對象名、屬性和操作3部分組成,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),對象特點 標識惟一性 分類性 多態(tài)性 封裝性 模塊獨立性好,2.3.2 面向?qū)ο蠓椒?/p>

7、的基本概念(續(xù)),2類和實例 類是一組具有相同屬性和相同操作的對象的集合,是對象的抽象。 在一個類中,每個對象都是類的實例,它們都可以使用類中提供的函數(shù)。 類具有屬性,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性, 類具有操作,它是對象的行為的抽象,操作實現(xiàn)的過程稱為方法 ,方法有方法名,方法體和參數(shù)。,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),(人) 張紅兵 28 繪圖員 人民路8號,(人) 李軍 24 程序員 無,對象,人 姓 名:字符串 年 齡: 整 型 改換工作 改換地址,類,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),什么是封裝? 對象操作的過程對外是封閉的,用戶只能看到操作實施的結(jié)果 封裝的主要目的是什

8、么? 程序結(jié)構(gòu)清晰,易操作,安全性高,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),3消息 對象之間進行通信的機制 三部分組成 接收消息的對象的名稱 消息標識符(消息名) 零個或多個參數(shù),2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),4.繼承 繼承是父類和子類之間共享數(shù)據(jù)的方法的機制 一個子類可以繼承它的父類(或祖先類)中的屬性和操作 子類中可以定義自己的屬性和操作 特殊類(派生類)和一般類(基類) 單重繼承 一個子類只有一個父類。即子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法。 多重繼承 一個子類可有多個父類,繼承多個父類的數(shù)據(jù)結(jié)構(gòu)和方法。,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),4.繼承,形狀,二維形狀,

9、三維形狀,梯形,三角形,長方體,圓柱體,形狀類的繼承,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),5.多態(tài)性 不同的對象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性 優(yōu)點:靈活性、可重用性、可擴充性。,面向?qū)ο笕筇卣鳎悍庋b、繼承、多態(tài),2.3.2 面向?qū)ο蠓椒ǖ幕靖拍睿ɡm(xù)),什么是關(guān)聯(lián)? 類之間的靜態(tài)聯(lián)系 什么是鏈? 鏈是關(guān)聯(lián)的實例,2.3.3 總結(jié),典型考題分析,2.4 典型考題分析,【例2-1】從程序設計方法和技術(shù)的發(fā)程序角度來說,程序設計主要經(jīng)歷了結(jié)構(gòu)化設計和_的程序設計階段。 答案 面向?qū)ο?2.4 典型考題分析,【例2-2】對建立良好的程序設計風格,下面描述正確的是_。

10、A)程序應簡單、清晰、可讀性好 B)符號名的命名只要符合語法 C)充分考慮程序的執(zhí)行效率 D)程序的注釋可有可無 答案 A,2.4 典型考題分析,【例2-3】源程序的文檔化不包括_。 A)符號名的命名要有實際意義 B)正確的文檔格式 C)良好的視覺組織 D)正確的程序注釋 答案 D,2.4 典型考題分析,【例2-4】注釋一般為序言性注釋和_注釋。 答案 功能性,2.4 典型考題分析,【例2-5】在設計程序時,應采納的原則之一是_。 A)程序結(jié)構(gòu)應有助于讀者理解 B)不限制GOTO語句的使用 C)減少或取消注解行 D)程序越短越好 答案 A,2.4 典型考題分析,【例2-6】下列選項中不屬于結(jié)構(gòu)

11、化程序設計方法的是_。(2006年4月) A)自頂向下 B)逐步求精 C)模塊化 D)可復用 答案 D,2.4 典型考題分析,【例2-7】下列選項不符合良好程序設計風格的是_。(2006年9月) A)源程序要文檔化 B)數(shù)據(jù)說明的次序要規(guī)范化 C)避免濫用 GOTO 語句 D)模塊設計要保證高耦合、高內(nèi)聚 答案 D,2.4 典型考題分析,【例2-8】結(jié)構(gòu)化程序設計的三種基本控制結(jié)構(gòu)是_。 A)過程、子程序和分程序 B)順序、選擇和重復 C)遞歸、堆棧和隊列 D)調(diào)用、返回和轉(zhuǎn)移 答案 B,2.4 典型考題分析,【例2-9】結(jié)構(gòu)化程序設計主要強調(diào)的是_。 A)程序的規(guī)模 B)程序的易讀性 C)程

12、序的執(zhí)行效率 D)程序的可移植性 答案 B,2.4 典型考題分析,【例2-10】關(guān)于結(jié)構(gòu)化程序設計原則和方法的描述錯誤的是_。 A)選用的控制結(jié)構(gòu)只準許有一個入口和一個出口 B)復雜結(jié)構(gòu)應該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn) C)不允許使用GOTO語句 D)語言中所沒有的控制結(jié)構(gòu),應該采用前后一致的方法來模擬 答案 C,2.4 典型考題分析,【例2-11】采用面向?qū)ο蠹夹g(shù)開發(fā)的應用系統(tǒng)的特點是_。 A)重用性更強 B)運行速度更快 C)占用存儲量小 D)維護更復雜 答案 A,2.4 典型考題分析,【例2-12】在面向?qū)ο蠓椒ㄖ校惖膶嵗Q為_。(2005年4月) 答案 對象,2.4 典型考

13、題分析,【例2-13】消息傳遞是對象間通信的手段,一個對象通過向另一個對象發(fā)送消息來請求其服務。一個消息通常包括_。 A)接收消息的對象的名稱、消息標識符和必要的參數(shù) B)接收消息的對象的名稱和消息標識符 C)發(fā)送消息的對象的名稱、調(diào)用的接收方的操作名和必要的參數(shù) D)消息標識符 答案 A,2.4 典型考題分析,【例2-14】一個對象在收到消息時,要予以響應。不同的對象收到同一消息可以產(chǎn)生完全不同的結(jié)果,這一現(xiàn)象叫做對象的_。 A)繼承性 B)多態(tài)性 C)抽象性 D)封裝性 答案 B,2.4 典型考題分析,【例2-15】在面向?qū)ο蟪绦蛟O計中,從外面看只能看到對象的外部特征,而不知道也無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實現(xiàn)操作的算法,這稱為對象的_。 答案 封裝性,2.4 典型考題分析,【例2-16】使用已經(jīng)存在的類作為基礎(chǔ)建立新類的定義,這種技術(shù)叫做類的_。 答案 繼承,2.4 典型考題

溫馨提示

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

評論

0/150

提交評論