![面向?qū)ο蟪绦蛟O(shè)計(C++):第1章 緒論_第1頁](http://file4.renrendoc.com/view/12107da130620b9c69fe624d7a9e2d1b/12107da130620b9c69fe624d7a9e2d1b1.gif)
![面向?qū)ο蟪绦蛟O(shè)計(C++):第1章 緒論_第2頁](http://file4.renrendoc.com/view/12107da130620b9c69fe624d7a9e2d1b/12107da130620b9c69fe624d7a9e2d1b2.gif)
![面向?qū)ο蟪绦蛟O(shè)計(C++):第1章 緒論_第3頁](http://file4.renrendoc.com/view/12107da130620b9c69fe624d7a9e2d1b/12107da130620b9c69fe624d7a9e2d1b3.gif)
![面向?qū)ο蟪绦蛟O(shè)計(C++):第1章 緒論_第4頁](http://file4.renrendoc.com/view/12107da130620b9c69fe624d7a9e2d1b/12107da130620b9c69fe624d7a9e2d1b4.gif)
![面向?qū)ο蟪绦蛟O(shè)計(C++):第1章 緒論_第5頁](http://file4.renrendoc.com/view/12107da130620b9c69fe624d7a9e2d1b/12107da130620b9c69fe624d7a9e2d1b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章 緒論 目錄1.1 計算機程序設(shè)計語言的發(fā)展1.2 面向?qū)ο蟮姆椒?.3 面向?qū)ο蟮能浖_發(fā)1.4 信息的表示與存儲1.5 程序的開發(fā)過程1.6 小結(jié)2計算機程序計算機的工作是用程序來控制的程序是指令的集合。指令是計算機可以識別的命令。31.1 計算機程序設(shè)計語言的發(fā)展1.1.1 機器語言與匯編語言由計算機硬件系統(tǒng)可以識別的二進制指令組成的語言稱為機器語言。計算機發(fā)展的初期,軟件工程師們只能用機器語言來編寫程序。這一階段,在人類的自然語言和計算機編程語言之間存在著巨大的鴻溝。匯編語言將機器指令映射為一些可以被人讀懂的助記符,如ADD、SUB等。此時編程語言與人類自然語言間的鴻溝略有縮小,
2、但仍與人類的思維相差甚遠。因為它的抽象層次太低,程序員需要考慮大量的機器細節(jié)。41.1 計算機程序設(shè)計語言的發(fā)展1.1.2 高級語言 高級語言屏蔽了機器的細節(jié),提高了語言的抽象層次,程序中可以采用具有一定含義的數(shù)據(jù)命名和容易理解的執(zhí)行語句。這使得在書寫程序時可以聯(lián)系到程序所描述的具體事物。51.1 計算機程序設(shè)計語言的發(fā)展1.1.3面向?qū)ο蟮恼Z言出發(fā)點:更直接地描述客觀世界中存在的事物(對象)以及它們之間的關(guān)系。特點:是高級語言。將客觀事物看作具有屬性和行為的對象。通過抽象找出同一類對象的共同屬性和行為,形成類。通過類的繼承與多態(tài)實現(xiàn)代碼重用61.1 計算機程序設(shè)計語言的發(fā)展1.1.3 面向?qū)?/p>
3、象的語言(續(xù))優(yōu)點:使程序能夠比較直接地反映問題域的本來面目,軟件開發(fā)人員能夠利用人類認識事物所采用的一般思維方法來進行軟件開發(fā)。71.1 計算機程序設(shè)計語言的發(fā)展1.2.1 面向?qū)ο蠓椒ǖ挠蓙?面向過程的程序設(shè)計方法最早的程序目的:用于數(shù)學計算主要工作:設(shè)計求解問題的過程缺點:對于龐大、復(fù)雜的程序難以開發(fā)和維護81.2 面向?qū)ο蟮姆椒嫦蜻^程的結(jié)構(gòu)化程序設(shè)計方法設(shè)計思路自頂向下、逐步求精。采用模塊分解與功能抽象,自頂向下、分而治之。程序結(jié)構(gòu):按功能劃分為若干個基本模塊,形成一個樹狀結(jié)構(gòu)。各模塊間的關(guān)系盡可能簡單,功能上相對獨立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成。其模塊化實現(xiàn)
4、的具體方法是使用子程序。91.2 面向?qū)ο蟮姆椒?- 1.2.1 面向?qū)ο蠓椒ǖ挠蓙砻嫦蜻^程的結(jié)構(gòu)化程序設(shè)計方法(續(xù))優(yōu)點:有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計任務(wù)分解成許多易于控制和處理的子任務(wù),便于開發(fā)和維護。101.2 面向?qū)ο蟮姆椒?- 1.2.1 面向?qū)ο蠓椒ǖ挠蓙砻嫦蜻^程的結(jié)構(gòu)化程序設(shè)計方法(續(xù))缺點:可重用性差、數(shù)據(jù)安全性差、難以開發(fā)大型軟件和圖形界面的應(yīng)用軟件把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨立的實體。當數(shù)據(jù)結(jié)構(gòu)改變時,所有相關(guān)的處理過程都要進行相應(yīng)的修改。每一種相對于老問題的新方法都要帶來額外的開銷。圖形用戶界面的應(yīng)用程序,很難用過程來描述和實現(xiàn),開發(fā)和維護也都很困難。111.2
5、 面向?qū)ο蟮姆椒?- 1.2.1 面向?qū)ο蠓椒ǖ挠蓙砻嫦驅(qū)ο蟮姆椒▽?shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個相互依存、不可分離的整體對象。對同類型對象抽象出其共性,形成類。類通過一個簡單的外部接口,與外界發(fā)生關(guān)系。對象與對象之間通過消息進行通信。121.2 面向?qū)ο蟮姆椒?- 1.2.1 面向?qū)ο蠓椒ǖ挠蓙砻嫦驅(qū)ο蟮姆椒ǎɡm(xù))優(yōu)點:程序模塊間的關(guān)系更為簡單,程序模塊的獨立性、數(shù)據(jù)的安全性就有了良好的保障。通過繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開發(fā)和維護都更為方便。131.2 面向?qū)ο蟮姆椒?- 1.2.1 面向?qū)ο蠓椒ǖ挠蓙?.2.2 面向?qū)ο蟮幕靖拍顚ο笠话阋饬x上的對象
6、:是現(xiàn)實世界中一個實際存在的事物??梢允怯行蔚模ū热缫惠v汽車),也可以是無形的(比如一項計劃)。是構(gòu)成世界的一個獨立單位,具有靜態(tài)特征:可以用某種數(shù)據(jù)來描述動態(tài)特征:對象所表現(xiàn)的行為或具有的功能141.2 面向?qū)ο蟮姆椒▽ο螅ɡm(xù))面向?qū)ο蠓椒ㄖ械膶ο螅菏窍到y(tǒng)中用來描述客觀事物的一個實體,它是用來構(gòu)成系統(tǒng)的一個基本單位。對象由一組屬性和一組行為構(gòu)成。屬性:用來描述對象靜態(tài)特征的數(shù)據(jù)項。行為:用來描述對象動態(tài)特征的操作序列。151.2 面向?qū)ο蟮姆椒?- 1.2.2 面向?qū)ο蟮幕靖拍铑惙诸惾祟愅ǔ5乃季S方法分類所依據(jù)的原則抽象忽略事物的非本質(zhì)特征,只注意那些與當前目標有關(guān)的本質(zhì)特征,從而找出事物
7、的共性,把具有共同性質(zhì)的事物劃分為一類,得出一個抽象的概念。例如,石頭、樹木、汽車、房屋等都是人們在長期的生產(chǎn)和生活實踐中抽象出的概念。161.2 面向?qū)ο蟮姆椒?- 1.2.2 面向?qū)ο蟮幕靖拍铑悾ɡm(xù))面向?qū)ο蠓椒ㄖ械念惥哂邢嗤瑢傩院头?wù)的一組對象的集合為屬于該類的全部對象提供了抽象的描述,包括屬性和行為兩個主要部分。類與對象的關(guān)系:猶如模具與鑄件之間的關(guān)系,一個屬于某類的對象稱為該類的一個實例。171.2 面向?qū)ο蟮姆椒?- 1.2.2 面向?qū)ο蟮幕靖拍罘庋b把對象的屬性和服務(wù)結(jié)合成一個獨立的系統(tǒng)單元。盡可能隱蔽對象的內(nèi)部細節(jié)。對外形成一個邊界(或者說一道屏障),只保留有限的對外接口使之
8、與外部發(fā)生聯(lián)系。181.2 面向?qū)ο蟮姆椒?- 1.2.2 面向?qū)ο蟮幕靖拍罾^承繼承對于軟件復(fù)用有著重要意義,是面向?qū)ο蠹夹g(shù)能夠提高軟件開發(fā)效率的重要原因之一。定義:特殊類的對象擁有其一般類的全部屬性與服務(wù),稱作特殊類對一般類的繼承。例如:將輪船作為一個一般類,客輪便是一個特殊類。191.2 面向?qū)ο蟮姆椒?- 1.2.2 面向?qū)ο蟮幕靖拍疃鄳B(tài)性多態(tài)是指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或行為在一般類及其各個特殊類中具有不同的語義。例如:數(shù)的加法-實數(shù)的加法 -復(fù)數(shù)的加法201.2 面向?qū)ο蟮姆椒?- 1.2.2 面向?qū)?/p>
9、象的基本概念面向?qū)ο蟮能浖こ堂嫦驅(qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I(lǐng)域的全面應(yīng)用。它包括:面向?qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O(shè)計(OOD)面向?qū)ο蟮木幊蹋∣OP)面向?qū)ο蟮臏y試(OOT)面向?qū)ο蟮能浖S護(OOSM)211.3 面向?qū)ο蟮能浖_發(fā)1.3.1 分析系統(tǒng)分析階段應(yīng)該扼要精確地抽象出系統(tǒng)必須做什么,但是不關(guān)心如何去實現(xiàn)。面向?qū)ο蟮南到y(tǒng)分析,直接用問題域中客觀存在的事物建立模型中的對象,對單個事物及事物之間的關(guān)系,都保留他們的原貌,不做轉(zhuǎn)換,也不打破原有界限而重新組合,因此能夠很好地映射客觀事物。221.3 面向?qū)ο蟮能浖_發(fā)1.3.2 設(shè)計針對系統(tǒng)的一個具體實現(xiàn)運用面向?qū)ο蟮姆?/p>
10、法。其中包括兩方面的工作:把OOA模型直接搬到OOD,作為OOD的一部分針對具體實現(xiàn)中的人機界面、數(shù)據(jù)存儲、任務(wù)管理等因素補充一些與實現(xiàn)有關(guān)的部分。231.3 面向?qū)ο蟮能浖_發(fā)1.3.3 編程 OOP工作就是用一種面向?qū)ο蟮木幊陶Z言把OOD模型中的每個成分書寫出來,是面向?qū)ο蟮能浖_發(fā)最終落實的重要階段。241.3 面向?qū)ο蟮能浖_發(fā)1.3.4 測試測試的任務(wù)是發(fā)現(xiàn)軟件中的錯誤。在面向?qū)ο蟮能浖y試中繼續(xù)運用面向?qū)ο蟮母拍钆c原則來組織測試,以對象的類作為基本測試單位,可以更準確地發(fā)現(xiàn)程序錯誤并提高測試效率。251.3 面向?qū)ο蟮能浖_發(fā)1.3.5 維護將軟件交付使用后,工作并沒有完結(jié),還要根
11、據(jù)軟件的運行情況和用戶的需求,不斷改進系統(tǒng)。使用面向?qū)ο蟮姆椒ㄩ_發(fā)的軟件,其程序與問題域是一致的,因此,在維護階段運用面向?qū)ο蟮姆椒梢源蟠筇岣哕浖S護的效率。261.3 面向?qū)ο蟮能浖_發(fā)信息的分類 指令 控制信息 控制字 信息 定點數(shù) 數(shù)值信息 數(shù)據(jù)信息 浮點數(shù) 字符數(shù)據(jù) 非數(shù)值信息 邏輯數(shù)據(jù)271.4 信息的表示和存儲1.4.1 計算機的數(shù)字系統(tǒng)計算機采用的是二進制數(shù)字系統(tǒng)。基本符號:0、1進位原則:逢二進一優(yōu)點:易于物理實現(xiàn)二進制數(shù)運算簡單機器可靠性高通用性強缺點:對人來說可讀性差281.4 信息的表示和存儲程序設(shè)計中常用的數(shù)制291.4 信息的表示和存儲 - 1.4.2 幾種進位記數(shù)
12、制之間的轉(zhuǎn)換R 進制十進制各位數(shù)字與它的權(quán)相乘,其積相加。例如:(11111111.11)2=127+126+125+124 +123+122+121+120+12-1+12-2 =(255.75)10(3506.2)8=383+582+081+680+28-1=(1862.25)10(0.2A)16=216-1+1016-2=(0.1640625)10301.4 信息的表示和存儲 - 1.4.2 幾種進位記數(shù)制之間的轉(zhuǎn)換十進制 R 進制十進制整數(shù)轉(zhuǎn)換成R進制的整數(shù)“除R取余”法,例如:2 68 余 數(shù) 2 34 0 低位 2 17 0 2 8 1 2 4 0 2 2 0 2 1 0 0 1
13、高位所以 681010001002311.4 信息的表示和存儲 - 1.4.2 幾種進位記數(shù)制之間的轉(zhuǎn)換十進制 R 進制(續(xù))十進制小數(shù)轉(zhuǎn)換成R進制小數(shù)“乘 R 取整”法,例如: 高位 0.3125 2 = 0 .625 0.625 2 = 1 .25 0.25 2 = 0 .5 0.5 2 = 1 .0所以 0.312510 = 0.01012 321.4 信息的表示和存儲 - 1.4.2 幾種進位記數(shù)制之間的轉(zhuǎn)換二、八、十六進制的相互轉(zhuǎn)換每位八進制數(shù)相當于三位二進制數(shù)每位十六進制數(shù)相當于四位二進制數(shù)(1011010.10)2=(001 011 010 .100)2=(132.4)8(101
14、1010.10)2=(0101 1010 .1000)2=(5A.8)16(F7)16(1111 0111)2(11110111)2331.4 信息的表示和存儲 - 1.4.2 幾種進位記數(shù)制之間的轉(zhuǎn)換1.4.3 信息的存儲單位位(bit,b):度量數(shù)據(jù)的最小單位,表示一位二進制信息。字節(jié)(byte,B):由八位二進制數(shù)字組成(1 byte = 8 bit)。千字節(jié) 1 KB = 1024 B兆字節(jié) 1 MB = 1024 K吉字節(jié) 1 GB = 1024 M341.4 信息的表示和存儲1.4.4 二進制數(shù)的編碼表示:原碼符號絕對值表示的編碼例如:X=+0101011 X原= 0 010101
15、1X=-0101011 X原= 1 0101011 符號位缺點:零的表示不惟一:+0原 =000.0 -0原 =100.0進行四則運算時,符號位須單獨處理,且運算規(guī)則復(fù)雜。351.4 信息的表示和存儲1.4.4 二進制數(shù)的編碼表示:反碼正數(shù)的反碼與原碼表示相同。負數(shù)的反碼與原碼有如下關(guān)系:符號位相同(仍用1表示),其余各位取反(0變1,1變0)。例如:X=-1100110 X原 =11100110 X反 =10011001X=+0000000 X原 =00000000 X反 =00000000反碼中零的表示也不惟一X=-0000000 X原 =10000000 X反 =11111111反碼只是
16、求補碼的中間碼361.4 信息的表示和存儲1.4.4 二進制數(shù)的編碼表示:補碼模數(shù):n位整數(shù)(包括一位符號位),則它的模數(shù)為 2n 。 n位小數(shù),小數(shù)點前一位為符號位,則它的模數(shù)為 2。補數(shù):一個數(shù)減去另一個數(shù),或者說一個數(shù)加上一個負數(shù),等于第一個數(shù)加上第二個數(shù)的補數(shù)。例: 8+(-2)=8+10 ( mod 12 )一個二進制負數(shù)可用其模數(shù)與真值做加法 (模減去該數(shù)的絕對值) 求得其補碼。371.4 信息的表示和存儲1.4.4 二進制數(shù)的編碼表示:補碼(續(xù))計算機中的補碼表示法負數(shù)的補碼由該數(shù)反碼的末位加 1 求得對補碼再求補即得到原碼補碼運算規(guī)則符號位可作為數(shù)值參加運算減法運算可轉(zhuǎn)換為加法
17、運算:加上一個負數(shù)等于加上該數(shù)的補碼補碼運算的結(jié)果仍為補碼運算結(jié)果溢出:負數(shù)之和得正數(shù),或正數(shù)之和得負數(shù)381.4 信息的表示和存儲1.4.5 定點數(shù)和浮點數(shù)計算機中通常采用浮點方式表示小數(shù)一個數(shù) N 用浮點形式表示可以寫成: N=M2E E表示2的冪,稱為數(shù)N的階碼。階碼確定了數(shù)N的小數(shù)點的位置,其位數(shù)反映了該浮點數(shù)所表示的數(shù)的范圍。M表示數(shù)N的全部有效數(shù)字,稱為數(shù)N的尾數(shù)。其位數(shù)反映了數(shù)據(jù)的精度。391.4 信息的表示和存儲1.4.6 數(shù)的表示范圍機器中數(shù)的表示范圍與數(shù)據(jù)位數(shù)及表示方法有關(guān)。一個M位整數(shù)(包括一位符號位):如果采用原碼或反碼表示法,能表示的最大數(shù)為2m-1 -1,最小數(shù)為-
18、(2m-1 -1)。若用補碼表示,表示范圍為-2m-1 2m-1 -1。一個n位定點小數(shù),采用原碼或反碼表示時,范圍為-(1-2-n )(1-2-n )。采用補碼表示時,范圍為-1 (1-2-n )。浮點數(shù)的表示范圍,由階碼位數(shù)和尾數(shù)位數(shù)決定。若階碼用r位整數(shù)(補碼)表示,尾數(shù)用n位定點小數(shù)(原碼)表示,則浮點數(shù)范圍是:401.4 信息的表示和存儲1.4.7 非數(shù)值信息的表示西文字符:ASCII碼:用7位二進制數(shù)表示一個字符,最多可以表示27=128個字符EBCDIC碼:用8位二進制數(shù)表示一個字符,最多可以表示28=256個字符漢字:應(yīng)用較為廣泛的是國家標準信息交換用漢字編碼(GB2312-80標準),簡稱國標碼。是二字節(jié)碼,用二個七位二進制數(shù)編碼表示一個漢字。411.4 信息的表示和存儲1.5.1 基本術(shù)語源程序:用源語言寫的,有待翻譯的程序目標程序:也稱為結(jié)果程序,是源程序通過翻譯程序加工以后所生成的程序。翻譯程
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 情感電臺廣播稿15篇
- 感恩節(jié)感恩父母演講稿資料15篇
- 幼兒消防國旗下講話稿范文(8篇)
- 快樂的七夕節(jié)隨筆6篇
- 安全第一課大班
- 青春夢想未來可及
- 爐膛燃燒動態(tài)過程預(yù)測
- 基于毫米波信號的抗干擾感知與成像技術(shù)研究
- 二零二五年度金融創(chuàng)新協(xié)議存款合同范本2篇
- 聚焦“一帶一路”關(guān)注新疆及兵團經(jīng)濟
- 《中國心力衰竭診斷和治療指南(2024)》解讀完整版
- 抽水蓄能電站項目建設(shè)管理方案
- 《智能網(wǎng)聯(lián)汽車智能傳感器測試與裝調(diào)》電子教案
- GB/T 32399-2024信息技術(shù)云計算參考架構(gòu)
- 2024PowerTitan系列運維指導儲能系統(tǒng)運維指導
- 沸石轉(zhuǎn)輪知識講解
- 固定資產(chǎn)盤點報告醫(yī)院版
- 腫瘤患者全程管理
- DB13(J)T145-2012建筑工程資料管理規(guī)程(上冊)
- 企業(yè)職務(wù)犯罪法制講座課件
- 護理學基礎(chǔ)教案導尿術(shù)
評論
0/150
提交評論