二級公共基礎(chǔ)知識第2章_第1頁
二級公共基礎(chǔ)知識第2章_第2頁
二級公共基礎(chǔ)知識第2章_第3頁
二級公共基礎(chǔ)知識第2章_第4頁
二級公共基礎(chǔ)知識第2章_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、二級公共基礎(chǔ)知識第二級公共基礎(chǔ)知識第2章章2內(nèi)容提要內(nèi)容提要 程序設(shè)計方法與風(fēng)格結(jié)構(gòu)化程序設(shè)計面向?qū)ο蟮某绦蛟O(shè)計方法,對象、方法、屬性及繼承與多態(tài)性32.1 程序設(shè)計方法與風(fēng)格程序設(shè)計方法與風(fēng)格2.1.1 程序設(shè)計方法結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法 模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分 各程序部分應(yīng)按功能組合 各程序之間的聯(lián)系盡量通過調(diào)用子程序來實(shí)現(xiàn),不用或少用GOTO方式面向?qū)ο蟪绦蛟O(shè)計方法面向?qū)ο蟪绦蛟O(shè)計方法42.1.2 程序設(shè)計風(fēng)格程序設(shè)計風(fēng)格原則:清晰第一,效率第二 1. 源程序中的內(nèi)部文檔符號名的命名:有一定實(shí)際含義符號名的命名:有一定實(shí)際含義程序的注釋:程序的注釋: 序言性注釋

2、 功能性注釋程序的視覺組織:層次清晰程序的視覺組織:層次清晰2. 數(shù)據(jù)說明數(shù)據(jù)說明的次序規(guī)范化數(shù)據(jù)說明的次序規(guī)范化說明語句中變量安排有序化說明語句中變量安排有序化使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)52.1.2 程序設(shè)計風(fēng)格(續(xù))程序設(shè)計風(fēng)格(續(xù))3語句的結(jié)構(gòu)在一行內(nèi)只寫一條語句在一行內(nèi)只寫一條語句程序編寫應(yīng)優(yōu)先考慮清晰性程序編寫應(yīng)優(yōu)先考慮清晰性清晰第一,效率第二清晰第一,效率第二在保證程序正確的基礎(chǔ)上再在保證程序正確的基礎(chǔ)上再要求提高效率要求提高效率避免使用臨時變量前使程序避免使用臨時變量前使程序的可讀性下降的可讀性下降避免不必要的轉(zhuǎn)移避免不必要的轉(zhuǎn)移盡量使用庫函數(shù)盡量使

3、用庫函數(shù)避免采用復(fù)雜的條件語句避免采用復(fù)雜的條件語句盡量減少使用盡量減少使用“否定否定”條件條件語句語句數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化化要模塊化,使模塊功能盡可要模塊化,使模塊功能盡可能單一化能單一化利用信息隱蔽,確保每一個利用信息隱蔽,確保每一個模塊的獨(dú)立性模塊的獨(dú)立性從數(shù)據(jù)出發(fā)去構(gòu)造程序從數(shù)據(jù)出發(fā)去構(gòu)造程序不要修補(bǔ)不好的程序,要重不要修補(bǔ)不好的程序,要重新編寫新編寫62.1.2 程序設(shè)計風(fēng)格(續(xù))程序設(shè)計風(fēng)格(續(xù))4輸入和輸出對輸入數(shù)據(jù)檢驗(yàn)數(shù)據(jù)的合法對輸入數(shù)據(jù)檢驗(yàn)數(shù)據(jù)的合法性性檢查輸入項(xiàng)的各種重要組合檢查輸入項(xiàng)的各種重要組合的合理性的合理性輸人格式要簡單,使得輸入輸人格

4、式要簡單,使得輸入的步驟和操作盡可能簡單的步驟和操作盡可能簡單輸人數(shù)據(jù)時,應(yīng)允許使用自輸人數(shù)據(jù)時,應(yīng)允許使用自由格式由格式應(yīng)允許缺省值應(yīng)允許缺省值輸入一批數(shù)據(jù)時,最好使用輸入一批數(shù)據(jù)時,最好使用輸入結(jié)束標(biāo)志輸入結(jié)束標(biāo)志在以交互式輸入在以交互式輸入/輸出方式輸出方式進(jìn)行輸人時,要在屏幕上使進(jìn)行輸人時,要在屏幕上使用提示符明確提示輸入的請用提示符明確提示輸入的請求,同時在數(shù)據(jù)輸入過程中求,同時在數(shù)據(jù)輸入過程中和輸入結(jié)束時,應(yīng)在屏幕上和輸入結(jié)束時,應(yīng)在屏幕上給出狀態(tài)信息給出狀態(tài)信息當(dāng)程序設(shè)計語言對輸入格式當(dāng)程序設(shè)計語言對輸入格式有嚴(yán)格要求時,應(yīng)保持輸入有嚴(yán)格要求時,應(yīng)保持輸入格式與輸入語句的一致性;

5、格式與輸入語句的一致性;給所有的輸出加注釋,并設(shè)給所有的輸出加注釋,并設(shè)計輸出報表格式計輸出報表格式7【試題1】下列敘述中,不符合良好程序設(shè)計風(fēng)格要求的是( )(2007年秋)A)程序的效率第一,)程序的效率第一, 清晰第二清晰第二 B)程序的可讀性好)程序的可讀性好C)程序中要有必要的注釋)程序中要有必要的注釋D)輸入數(shù)據(jù)前要有提示信息)輸入數(shù)據(jù)前要有提示信息解析:答案為A。程序的設(shè)計風(fēng)格應(yīng)該遵循“清晰第一,效率第二”的原則,增強(qiáng)可讀性?!驹囶}2】下列選項(xiàng)中不符合良好程序設(shè)計風(fēng)格的是()。(2006年秋)A)源程序要文檔化 B)數(shù)據(jù)說明的次序要規(guī)范化 C)避免濫用 goto 語句 D)模塊設(shè)

6、計要保證高耦合、高內(nèi)聚解析:答案為D。D選項(xiàng)的內(nèi)容在第3章講述,模塊設(shè)計應(yīng)是高內(nèi)聚、低耦合的。82.2 結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計基本思想關(guān)于關(guān)于GOTO語句語句工程思想工程思想結(jié)構(gòu)化思想結(jié)構(gòu)化思想自頂向下,逐步求精,模塊化,限制使用自頂向下,逐步求精,模塊化,限制使用GOTO語句語句 92.2.1 結(jié)構(gòu)化程序設(shè)計的原則結(jié)構(gòu)化程序設(shè)計的原則1自頂向下2逐步求精3模塊化4限制使用GOTO語句102.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn)特點(diǎn)三種基本結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu)112.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn)特點(diǎn)(續(xù)續(xù))順

7、序結(jié)構(gòu)122.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn)特點(diǎn)(續(xù)續(xù))選擇結(jié)構(gòu)又稱分支結(jié)構(gòu)又稱分支結(jié)構(gòu)簡單選擇結(jié)構(gòu)簡單選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu) 132.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn)特點(diǎn)(續(xù)續(xù))重復(fù)結(jié)構(gòu)又稱為循環(huán)結(jié)構(gòu)又稱為循環(huán)結(jié)構(gòu) 當(dāng)型當(dāng)型直到型直到型142.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn)特點(diǎn)(續(xù)續(xù))特點(diǎn)關(guān)系清晰、易讀、易理解性好、易維護(hù)。關(guān)系清晰、易讀、易理解性好、易維護(hù)?!白皂斚蛳?、逐步細(xì)化自頂向下、逐步細(xì)化”,提高效率,降低成,提高效率,降低成本本152.2.3 結(jié)構(gòu)化程序設(shè)計原則和方法的結(jié)構(gòu)化程序設(shè)計原則和方法

8、的應(yīng)用應(yīng)用用有限的控制結(jié)構(gòu)一個入口和一個出口每塊只有一個入口和一個出口使用嵌套前后一致避免GOTO語句16真題練習(xí)真題練習(xí)【試題1】結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括 ( )(2011年3月)A)順序結(jié)構(gòu))順序結(jié)構(gòu) B)GOTO跳轉(zhuǎn)跳轉(zhuǎn) C)選擇(分支)結(jié)構(gòu))選擇(分支)結(jié)構(gòu) D)重復(fù)(循環(huán))結(jié)構(gòu))重復(fù)(循環(huán))結(jié)構(gòu) 解析:答案為B。結(jié)構(gòu)程序設(shè)計三種基本結(jié)構(gòu)為順序、選擇和循環(huán)?!驹囶}2】下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計原則的是( )(2009年秋)。A)可封裝)可封裝 B)自頂向下)自頂向下 C)模塊化)模塊化 D)逐步求精逐步求精解析:答案為A。結(jié)構(gòu)化設(shè)計的原則有:自頂向下、逐步求精、模塊化、限制

9、使用goto語句。17【試題3】結(jié)構(gòu)化程序設(shè)計的基本原則不包括( )(2008年春)A)多態(tài)性)多態(tài)性B)自頂向下)自頂向下C)模塊化)模塊化D)逐)逐步求精步求精解析:答案為A?!驹囶}4】下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計方法的是( )(2006年春) A)自頂向下)自頂向下 B)逐步求精)逐步求精 C)模塊化)模塊化 D)可復(fù))可復(fù)用用解析:答案為D。18【試題5】僅由順序、選擇(分支)和重復(fù)(循環(huán))結(jié)構(gòu)構(gòu)成的程序是_ _程序。(2010年秋)解析:答案為結(jié)構(gòu)化。【試題6】符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和 (2009年3月)解析:答案為順序結(jié)構(gòu)。192.3 面向?qū)ο蟮某?/p>

10、序設(shè)計面向?qū)ο蟮某绦蛟O(shè)計2.3.1 關(guān)于面向?qū)ο蠓椒▽ο到y(tǒng)的復(fù)雜性進(jìn)行概括、抽象和分類,使軟對系統(tǒng)的復(fù)雜性進(jìn)行概括、抽象和分類,使軟件的設(shè)計與現(xiàn)實(shí)形成一個由抽象到具體、由簡件的設(shè)計與現(xiàn)實(shí)形成一個由抽象到具體、由簡單到復(fù)雜這樣一個循序漸進(jìn)的過程,從而解決單到復(fù)雜這樣一個循序漸進(jìn)的過程,從而解決大型軟件研制中存在的效率低、質(zhì)量難以保證、大型軟件研制中存在的效率低、質(zhì)量難以保證、調(diào)試復(fù)雜、維護(hù)困難等問題。調(diào)試復(fù)雜、維護(hù)困難等問題。結(jié)構(gòu)化的分解突出過程,即如何做結(jié)構(gòu)化的分解突出過程,即如何做(How to do)?它強(qiáng)調(diào)代碼的功能是如何實(shí)現(xiàn)的;面向?qū)λ鼜?qiáng)調(diào)代碼的功能是如何實(shí)現(xiàn)的;面向?qū)ο蟮姆纸馔怀霈F(xiàn)實(shí)

11、世界和抽象的對象,即做什象的分解突出現(xiàn)實(shí)世界和抽象的對象,即做什么么(What to do)?202.3.1 關(guān)于面向?qū)ο蠓椒ǎɡm(xù))關(guān)于面向?qū)ο蠓椒ǎɡm(xù))主要優(yōu)點(diǎn)與人類習(xí)慣的思維方法一致與人類習(xí)慣的思維方法一致穩(wěn)定性好穩(wěn)定性好可重用性好可重用性好易于開發(fā)大型軟件產(chǎn)品易于開發(fā)大型軟件產(chǎn)品可維護(hù)性好可維護(hù)性好212.3.2 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍?.對象(Object)對象是基本的運(yùn)行時認(rèn)得實(shí)體,它既包括數(shù)據(jù)(屬對象是基本的運(yùn)行時認(rèn)得實(shí)體,它既包括數(shù)據(jù)(屬性),也包括作用于數(shù)據(jù)的操作(行為)。性),也包括作用于數(shù)據(jù)的操作(行為)。一個對象把屬性和行為封裝為一個整體一個對象把屬

12、性和行為封裝為一個整體一個對象通??捎蓪ο竺?、屬性和操作一個對象通??捎蓪ο竺?、屬性和操作3部分組成部分組成222.3.2 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍睿ɡm(xù))(續(xù))對象特點(diǎn)標(biāo)識惟一性標(biāo)識惟一性分類性分類性多態(tài)性多態(tài)性封裝性封裝性模塊獨(dú)立性好模塊獨(dú)立性好232.3.2 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍睿ɡm(xù))(續(xù))2類和實(shí)例類是具有共同屬性、共同操作方法的對象的集類是具有共同屬性、共同操作方法的對象的集合,是對象的抽象合,是對象的抽象對象是其對應(yīng)類的一個實(shí)例對象是其對應(yīng)類的一個實(shí)例242.3.2 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍睿ɡm(xù))(續(xù))3消息對象之間進(jìn)行

13、通信的機(jī)制對象之間進(jìn)行通信的機(jī)制三部分組成三部分組成 接收消息的對象的名稱 消息標(biāo)識符(消息名) 零個或多個參數(shù)252.3.2 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍睿ɡm(xù))(續(xù))4.繼承繼承是父類和子類之間共享數(shù)據(jù)的方法的機(jī)制繼承是父類和子類之間共享數(shù)據(jù)的方法的機(jī)制一個子類可以繼承它的父類(或祖先類)中的一個子類可以繼承它的父類(或祖先類)中的屬性和操作屬性和操作子類中可以定義自己的屬性和操作子類中可以定義自己的屬性和操作單重繼承、多重繼承單重繼承、多重繼承262.3.2 面向?qū)ο蠓椒ǖ幕靖拍蠲嫦驅(qū)ο蠓椒ǖ幕靖拍睿ɡm(xù))(續(xù))5.多態(tài)性不同的對象收到同一消息可以產(chǎn)生完全不同的不同的對象

14、收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性優(yōu)點(diǎn):靈活性、可重用性、可擴(kuò)充性。優(yōu)點(diǎn):靈活性、可重用性、可擴(kuò)充性。27真題練習(xí)真題練習(xí)【試題1】下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是( )(2007年春)A)繼承性 B)多態(tài)性 C)類比性)類比性 D)封裝性)封裝性解析:答案為C?!驹囶}2】在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠( )(2007年秋)A)對象的繼承)對象的繼承B)對象的多態(tài))對象的多態(tài)C)對象的封裝)對象的封裝D)對象的分類)對象的分類解析:答案為C。28【試題3】在面向?qū)ο蠓椒ㄖ校粚儆凇皩ο蟆被咎攸c(diǎn)的是( )(2008年秋)A)一致性 B)分類性 C)多態(tài)性 D)標(biāo)識唯一性解析:答案為A?!驹囶}4】面向?qū)ο蠓椒ㄖ校^承是指( )(2010秋)A)一組對象所具有的相似性質(zhì))一組對象所具有的相似性質(zhì)B)一個對象具有另一個對象的性質(zhì))一個對象具有另一個對象的性質(zhì)C)各對象之間的共同性質(zhì))各對象之間的共同

溫馨提示

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

評論

0/150

提交評論