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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論