第10章 程序設(shè)計基礎(chǔ)_第1頁
第10章 程序設(shè)計基礎(chǔ)_第2頁
第10章 程序設(shè)計基礎(chǔ)_第3頁
第10章 程序設(shè)計基礎(chǔ)_第4頁
第10章 程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、CONTENTS第十章 程序設(shè)計基礎(chǔ)大學(xué)計算機(jī)(第三版) 高等教育出版社10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法CONTENTS10.1 10.1 程序設(shè)計的概念程序設(shè)計的概念程序:是解題方法和步驟的描述,是供計算機(jī)執(zhí)行并能程序:是解題方法和步驟的描述,是供計算機(jī)執(zhí)行并能完成特定功能的指令序列。完成特定功能的指令序列。程序的核心:數(shù)據(jù)結(jié)構(gòu)和算法。程序的核心:數(shù)據(jù)結(jié)構(gòu)和算法。程序設(shè)計(程序設(shè)計(ProgrammingProgramming):先對問題進(jìn)行分析并建立數(shù)):先對問題進(jìn)行分析并建立數(shù)學(xué)模型,然后考

2、慮數(shù)據(jù)的組織方式和算法,并用某一種學(xué)模型,然后考慮數(shù)據(jù)的組織方式和算法,并用某一種程序設(shè)計語言編寫程序,最后調(diào)試程序,使之運(yùn)行后能程序設(shè)計語言編寫程序,最后調(diào)試程序,使之運(yùn)行后能產(chǎn)生預(yù)期的結(jié)果。產(chǎn)生預(yù)期的結(jié)果。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法CONTENTS10.1 10.1 程序設(shè)計的概念程序設(shè)計的概念程序設(shè)計的基本步驟:程序設(shè)計的基本步驟:(1)(1)分析問題,確定數(shù)學(xué)模型或方法。分析問題,確定數(shù)學(xué)模型或方法。(2)(2)設(shè)計算法,畫出流程圖。設(shè)計算法,畫出流程圖。(3)(3)選擇編程工具,按

3、算法編寫程序。選擇編程工具,按算法編寫程序。(4)(4)調(diào)試程序,分析輸出結(jié)果。調(diào)試程序,分析輸出結(jié)果。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法CONTENTS10.2 10.2 算法算法計算機(jī)解決問題的方法和步驟,就是計算機(jī)解題的算法計算機(jī)解決問題的方法和步驟,就是計算機(jī)解題的算法(Algorithm)(Algorithm)。算法舉例:算法舉例:(1 1) 將兩個變量的值互換將兩個變量的值互換 。 (2 2)歐幾里德()歐幾里德(EuclidEuclid)算法求兩個正整數(shù))算法求兩個正整數(shù)m m和和n

4、n的最大的最大公約數(shù)。公約數(shù)。 (3 3)非數(shù)值計算算法:有)非數(shù)值計算算法:有9 9枚銅幣,其中有枚銅幣,其中有1 1枚略輕枚略輕的是假幣,用一臺沒有砝碼的天平將假幣找出來,應(yīng)怎的是假幣,用一臺沒有砝碼的天平將假幣找出來,應(yīng)怎樣找稱樣找稱 。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.1 10.2.1 算法的概念算法的概念CONTENTS10.2 10.2 算法算法(1) (1) 有窮性。算法中執(zhí)行的步驟總是有限次數(shù)的,不能有窮性。算法中執(zhí)行的步驟總是有限次數(shù)的,不能無止境地執(zhí)行下去。無止境地執(zhí)行

5、下去。(2) (2) 確定性。算法中的每一步操作必須具有確切的含義確定性。算法中的每一步操作必須具有確切的含義,不能有二義性。,不能有二義性。(3) (3) 有效性。算法中的每一步操作必須是可執(zhí)行的。有效性。算法中的每一步操作必須是可執(zhí)行的。(4) (4) 要有數(shù)據(jù)輸入。算法中操作的對象是數(shù)據(jù),因此應(yīng)要有數(shù)據(jù)輸入。算法中操作的對象是數(shù)據(jù),因此應(yīng)提供有關(guān)數(shù)據(jù)。提供有關(guān)數(shù)據(jù)。(5) (5) 要有結(jié)果輸出。要有結(jié)果輸出。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法.2 算法的特性算法的特性CON

6、TENTS10.2 10.2 算法算法1 1算法評價標(biāo)準(zhǔn)算法評價標(biāo)準(zhǔn) (1 1)正確性。)正確性。(2 2)可讀性。)可讀性。(3 3)通用性。)通用性。(4 4)高效率。)高效率。2. 2. 算法效率的度量算法效率的度量(1 1)時間度量)時間度量(2 2)空間度量)空間度量10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.3 10.2.3 算法的評價算法的評價CONTENTS10.2 10.2 算法算法1.1. 用傳統(tǒng)的流程圖描述算法用傳統(tǒng)的流程圖描述算法傳統(tǒng)的流程圖是用一些幾何框圖、傳統(tǒng)的流程圖是用

7、一些幾何框圖、流程線和文字說明表示各種類型的流程線和文字說明表示各種類型的操作。一般用矩形框表示進(jìn)行某種操作。一般用矩形框表示進(jìn)行某種處理,有一個入口,一個出口。用處理,有一個入口,一個出口。用菱形框表示判斷,有一個入口,兩菱形框表示判斷,有一個入口,兩個出口。在框內(nèi)寫上簡明的文字或個出口。在框內(nèi)寫上簡明的文字或符號表示具體的操作,用帶箭頭的符號表示具體的操作,用帶箭頭的流向線表示操作的先后順序。流向線表示操作的先后順序。 10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.4 10.2.4 算法的描述算法

8、的描述CONTENTS10.2 10.2 算法算法2. 2. 用結(jié)構(gòu)化流程圖描述算法用結(jié)構(gòu)化流程圖描述算法(1 1)程序的三種基本結(jié)構(gòu):順序結(jié))程序的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。(2 2)結(jié)構(gòu)化流程圖()結(jié)構(gòu)化流程圖(N-SN-S圖)圖)10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.4 10.2.4 算法的描述算法的描述CONTENTS10.2 10.2 算法算法2. 2. 用結(jié)構(gòu)化流程圖描述算法用結(jié)構(gòu)化流程圖描述算法(1 1)程序的三種基本結(jié)構(gòu):順序結(jié))程序的

9、三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。(2 2)結(jié)構(gòu)化流程圖()結(jié)構(gòu)化流程圖(N-SN-S圖)圖)10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.4 10.2.4 算法的描述算法的描述CONTENTS10.2 10.2 算法算法3 3用偽代碼描述算法用偽代碼描述算法計算計算2+4+ +1002+4+ +100并輸出,設(shè)計算法并輸出,設(shè)計算法并用并用Visual BasicVisual Basic偽代碼描述如下偽代碼描述如下:0sum0sum1i1iDo While i100

10、Do While i100 If i/2 If i/2的余數(shù)為的余數(shù)為0 THEN 0 THEN sum+isumsum+isum i+1i i+1iLoopLoopPrint sumPrint sum10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.4 10.2.4 算法的描述算法的描述CONTENTS10.2 10.2 算法算法1 1迭代算法迭代算法迭代是一種建立在循環(huán)基礎(chǔ)上的算法。在數(shù)學(xué)中,迭代迭代是一種建立在循環(huán)基礎(chǔ)上的算法。在數(shù)學(xué)中,迭代經(jīng)常被用來進(jìn)行數(shù)值計算,例如求方程的解,不斷用變經(jīng)常被用來

11、進(jìn)行數(shù)值計算,例如求方程的解,不斷用變量原來的值遞推求新的值的過程。量原來的值遞推求新的值的過程。討論求若干個數(shù)之和或乘積的問題。討論求若干個數(shù)之和或乘積的問題。 10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.5 10.2.5 算法示例算法示例CONTENTS10.2 10.2 算法算法2 2窮舉算法窮舉算法窮舉法也叫枚舉法,它的基本思路是對眾多可能解,按某窮舉法也叫枚舉法,它的基本思路是對眾多可能解,按某種順序進(jìn)行逐一枚舉和檢驗,并從中找出那些符合要求的種順序進(jìn)行逐一枚舉和檢驗,并從中找出那些符合要

12、求的可能解,作為問題的解。窮舉的計算量是相當(dāng)大的,但對可能解,作為問題的解。窮舉的計算量是相當(dāng)大的,但對于計算機(jī)來說,做起來很容易。窮舉算法是一種重要的算于計算機(jī)來說,做起來很容易。窮舉算法是一種重要的算法設(shè)計策略,可以說是計算機(jī)解題的一大特點。法設(shè)計策略,可以說是計算機(jī)解題的一大特點。求方程求方程x x+2+2y y+5+5z z=100=100的整數(shù)解。的整數(shù)解。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.5 10.2.5 算法示例算法示例CONTENTS10.2 10.2 算法算法3 3排序算

13、法排序算法所謂排序,就是將一組數(shù)據(jù)元素按照某個關(guān)鍵字遞增或遞所謂排序,就是將一組數(shù)據(jù)元素按照某個關(guān)鍵字遞增或遞減的次序排列起來。減的次序排列起來。(1 1)選擇排序)選擇排序(Selection Sort)(Selection Sort)選擇排序法的實現(xiàn)過程是:首先找出表中關(guān)鍵字最小的元選擇排序法的實現(xiàn)過程是:首先找出表中關(guān)鍵字最小的元素,將其與第一個元素進(jìn)行交換,然后,再在其余元素中素,將其與第一個元素進(jìn)行交換,然后,再在其余元素中找出關(guān)鍵字最小的元素,將其與第二個元素進(jìn)行交換。依找出關(guān)鍵字最小的元素,將其與第二個元素進(jìn)行交換。依次類推,直到將表中所有關(guān)鍵字按由小到大的順序排列好次類推,直到

14、將表中所有關(guān)鍵字按由小到大的順序排列好為止。為止。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.5 10.2.5 算法示例算法示例CONTENTS10.2 10.2 算法算法(2 2)冒泡排序)冒泡排序(Bubble Sort)(Bubble Sort)冒泡法排序法是每趟將相鄰的兩個數(shù)兩兩進(jìn)行比較,若冒泡法排序法是每趟將相鄰的兩個數(shù)兩兩進(jìn)行比較,若滿足升序次序,則進(jìn)行下一次比較,若不滿足升序次序,滿足升序次序,則進(jìn)行下一次比較,若不滿足升序次序,則交換這兩個數(shù),直到最后??偟谋容^次數(shù)為則交換這兩個數(shù),

15、直到最后??偟谋容^次數(shù)為n-1n-1次,此次,此時最后的元素為最大數(shù),此為一趟排序。接著進(jìn)行第二趟時最后的元素為最大數(shù),此為一趟排序。接著進(jìn)行第二趟排序,方法同前,只是這次最后一個元素不再參與比較,排序,方法同前,只是這次最后一個元素不再參與比較,比較次數(shù)為比較次數(shù)為n-2n-2次,依次類推。次,依次類推。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.5 10.2.5 算法示例算法示例CONTENTS10.2 10.2 算法算法4 4查找算法查找算法查找是根據(jù)給定的某個值,在查找表中確定一個其關(guān)鍵查找

16、是根據(jù)給定的某個值,在查找表中確定一個其關(guān)鍵字等于給定值的數(shù)據(jù)元素,若表中存在這樣的數(shù)據(jù)元素,字等于給定值的數(shù)據(jù)元素,若表中存在這樣的數(shù)據(jù)元素,稱此查找是成功的。若表中不存在關(guān)鍵字等于給定值的數(shù)稱此查找是成功的。若表中不存在關(guān)鍵字等于給定值的數(shù)據(jù)元素,稱此查找是不成功的。據(jù)元素,稱此查找是不成功的。(1 1)順序查找)順序查找順序查找是最常用的查找方法,其查找過程為:從第一個順序查找是最常用的查找方法,其查找過程為:從第一個元素起,逐個將給定值與數(shù)據(jù)元素的關(guān)鍵字進(jìn)行比較,若元素起,逐個將給定值與數(shù)據(jù)元素的關(guān)鍵字進(jìn)行比較,若某個元素的關(guān)鍵字與給定值相等,則認(rèn)為查找是成功的,某個元素的關(guān)鍵字與給定

17、值相等,則認(rèn)為查找是成功的,否則,查找失敗。否則,查找失敗。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.5 10.2.5 算法示例算法示例CONTENTS10.2 10.2 算法算法(2 2)折半查找)折半查找作為折半查找的表必須是順序存儲的有序表,即表采作為折半查找的表必須是順序存儲的有序表,即表采用順序結(jié)構(gòu)存儲,表中的元素按關(guān)鍵字值遞增(或遞減)用順序結(jié)構(gòu)存儲,表中的元素按關(guān)鍵字值遞增(或遞減)排列。排列。假設(shè)表中的關(guān)鍵字值遞增排列,則折半查找的實現(xiàn)方假設(shè)表中的關(guān)鍵字值遞增排列,則折半查找的實現(xiàn)

18、方法是:首先取整個有序表的中間元素法是:首先取整個有序表的中間元素A Am m的關(guān)鍵字同給定值的關(guān)鍵字同給定值x x比較,若相等,則查找成功;否則,若比較,若相等,則查找成功;否則,若A Am m的關(guān)鍵字小于的關(guān)鍵字小于x x,則說明待查元素只可能落在表的后半部分中,接著只要在則說明待查元素只可能落在表的后半部分中,接著只要在表的后半部分子表中查找即可;若表的后半部分子表中查找即可;若 A Am m的關(guān)鍵字大于的關(guān)鍵字大于x x,則,則說明待查元素只可能落在表的前半部分中,接著只要在表說明待查元素只可能落在表的前半部分中,接著只要在表的前半部分子表中查找即可。這樣,經(jīng)過一次關(guān)鍵字的比的前半部分

19、子表中查找即可。這樣,經(jīng)過一次關(guān)鍵字的比較,就縮小一半的查找空間,重復(fù)進(jìn)行下去,直到找到關(guān)較,就縮小一半的查找空間,重復(fù)進(jìn)行下去,直到找到關(guān)鍵字為鍵字為x x的元素,或者表中沒有待查元素(此時查找區(qū)間的元素,或者表中沒有待查元素(此時查找區(qū)間為空)為止。為空)為止。10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.2.5 10.2.5 算法示例算法示例CONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.

20、4 程序設(shè)計方程序設(shè)計方 法法10.3.1 10.3.1 程序設(shè)計語言的分類程序設(shè)計語言的分類機(jī)器語言機(jī)器語言匯編語言匯編語言高級語言高級語言面向過程面向過程面向?qū)ο竺嫦驅(qū)ο驝ONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.3.1 10.3.1 程序設(shè)計語言的分類程序設(shè)計語言的分類1 1機(jī)器語言(機(jī)器語言(Machine languageMachine language)機(jī)器語言:機(jī)器指令的總稱。機(jī)器語言:機(jī)器指令的總稱。特點:繁瑣冗長、不直觀、容易

21、出錯、程序不通用。特點:繁瑣冗長、不直觀、容易出錯、程序不通用。2 2匯編語言(匯編語言(Assembly languageAssembly language)用助記符表示的機(jī)器指令。用助記符表示的機(jī)器指令。特點:直觀性增強(qiáng)了,但與機(jī)器指令一一對應(yīng)。特點:直觀性增強(qiáng)了,但與機(jī)器指令一一對應(yīng)。3 3高級語言(高級語言(High level languageHigh level language)高級語言:接近自然語言和數(shù)學(xué)表達(dá)式的一種語言。高級語言:接近自然語言和數(shù)學(xué)表達(dá)式的一種語言。特點:直觀、通用性,便于推廣交流。特點:直觀、通用性,便于推廣交流。兩種執(zhí)行方式:編譯方式和解釋方式。兩種執(zhí)行方

22、式:編譯方式和解釋方式。CONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.3.1 10.3.1 程序設(shè)計語言的分類程序設(shè)計語言的分類高級語言程序的編譯執(zhí)行過程:高級語言程序的編譯執(zhí)行過程:編譯程序工作過程編譯程序工作過程: :CONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.3.2 10.3.2 高級語言的

23、基本特征高級語言的基本特征1 1數(shù)據(jù)類型數(shù)據(jù)類型各種高級語言都提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型各種高級語言都提供了豐富的數(shù)據(jù)類型,這些數(shù)據(jù)類型可以分為兩大類:簡單類型和構(gòu)造類型。其中簡單類型可以分為兩大類:簡單類型和構(gòu)造類型。其中簡單類型一般有整型、實型、字符型、邏輯型、指針類型等,構(gòu)一般有整型、實型、字符型、邏輯型、指針類型等,構(gòu)造類型有數(shù)組類型、集合類型、記錄類型、文件類型等造類型有數(shù)組類型、集合類型、記錄類型、文件類型等。CONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程

24、序設(shè)計方程序設(shè)計方 法法10.3.2 10.3.2 高級語言的基本特征高級語言的基本特征2 2運(yùn)算與表達(dá)式運(yùn)算與表達(dá)式(1 1)常量)常量(2 2)變量)變量(3 3)表達(dá)式)表達(dá)式3 3語句語句(1 1)賦值語句)賦值語句(2 2)輸入輸出語句)輸入輸出語句(3 3)程序的控制結(jié)構(gòu)語句)程序的控制結(jié)構(gòu)語句4 4子程序、函數(shù)與過程子程序、函數(shù)與過程CONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.3.3 10.3.3 常用高級語言常用高級語言1. 1

25、. 傳統(tǒng)高級語言傳統(tǒng)高級語言(1 1)FORTRANFORTRAN語言:語言:FORTRAN 66FORTRAN 66、FORTRAN 77FORTRAN 77、FORTRAN FORTRAN 9090。(2 2)BASICBASIC語言:語言:BASICBASIC、Visual BasicVisual Basic、Visual Basic Visual Basic .NET.NET。(3 3)PASCALPASCAL語言語言(4 4)C C語言:語言:C C、C+C+、C C。(5 5)COBOLCOBOL語言語言CONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計

26、的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.3.3 10.3.3 常用高級語言常用高級語言2 2網(wǎng)絡(luò)編程語言網(wǎng)絡(luò)編程語言(1 1)JavaJava語言語言(2 2)腳本語言()腳本語言(Scripting LanguageScripting Language):):JavaScriptJavaScript、VBScriptVBScript、PerlPerl、PHPPHP。 3 3科學(xué)計算語言:科學(xué)計算語言:MATLABMATLABCONTENTS10.3 10.3 程序設(shè)計語言程序設(shè)計語言10.1 程序設(shè)計的程序設(shè)計的

27、概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.3.3 10.3.3 常用高級語言常用高級語言2 2網(wǎng)絡(luò)編程語言網(wǎng)絡(luò)編程語言(1 1)JavaJava語言語言(2 2)腳本語言()腳本語言(Scripting LanguageScripting Language):):JavaScriptJavaScript、VBScriptVBScript、PerlPerl、PHPPHP。 3 3科學(xué)計算語言:科學(xué)計算語言:MATLABMATLAB討論:討論:如何學(xué)習(xí)一種高級語言?如何選擇高級語言?如何學(xué)習(xí)一種高級語言?如何選擇高級語言?CONTENT

28、S10.4 10.4 程序設(shè)計方法程序設(shè)計方法10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.4.1 10.4.1 結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計采用自頂向下、逐步求精和模塊化的分析結(jié)構(gòu)化程序設(shè)計采用自頂向下、逐步求精和模塊化的分析方法,從而有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計任務(wù)分解方法,從而有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計任務(wù)分解成許多易于控制和處理的子程序,便于開發(fā)和維護(hù)。成許多易于控制和處理的子程序,便于開發(fā)和維護(hù)。CONTENTS10.4 10.4 程序設(shè)計方法程序設(shè)計方法10.1 程序設(shè)

29、計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.4.2 10.4.2 面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο蟪绦蛟O(shè)計(Object-Oriented Programming, OOP)傳統(tǒng)的程序設(shè)計是基于求解過程來組織程序流程。在這類傳統(tǒng)的程序設(shè)計是基于求解過程來組織程序流程。在這類程序中,數(shù)據(jù)和施加于數(shù)據(jù)的操作是獨立設(shè)計的,以對數(shù)程序中,數(shù)據(jù)和施加于數(shù)據(jù)的操作是獨立設(shè)計的,以對數(shù)據(jù)進(jìn)行操作的過程作為程序的主體。面向?qū)ο蟪绦蛟O(shè)計則據(jù)進(jìn)行操作的過程作為程序的主體。面向?qū)ο蟪绦蛟O(shè)計則以對象作為程序的主體。對象是數(shù)據(jù)和操作的以對象作為程序的主

30、體。對象是數(shù)據(jù)和操作的“封裝體封裝體”,封裝在對象內(nèi)的程序通過,封裝在對象內(nèi)的程序通過“消息消息”來驅(qū)動運(yùn)行。在圖形來驅(qū)動運(yùn)行。在圖形用戶界面上,消息可通過鍵盤或鼠標(biāo)的某種操作來傳遞。用戶界面上,消息可通過鍵盤或鼠標(biāo)的某種操作來傳遞。CONTENTS10.4 10.4 程序設(shè)計方法程序設(shè)計方法10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.4.2 10.4.2 面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο蟪绦蛟O(shè)計(Object-Oriented Programming, OOP)(1 1)對象)對象(Object) (Obje

31、ct) 對象是指現(xiàn)實世界中具體存在的實對象是指現(xiàn)實世界中具體存在的實體。每一個對象都有自己的屬性(包括自己特有的屬性和體。每一個對象都有自己的屬性(包括自己特有的屬性和同類對象的共同屬性)。屬性反映對象自身狀態(tài)變化,表同類對象的共同屬性)。屬性反映對象自身狀態(tài)變化,表現(xiàn)為當(dāng)前的屬性值。現(xiàn)為當(dāng)前的屬性值。方法是用來描述對象動態(tài)特征的一個操作序列。方法是用來描述對象動態(tài)特征的一個操作序列。(2) 2) 類類(Class) (Class) 類是具有相同屬性和方法的一組對象類是具有相同屬性和方法的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描

32、述。CONTENTS10.4 10.4 程序設(shè)計方法程序設(shè)計方法10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法OPPOPP與與OOPOOP比較比較判斷判斷重置重置輸入一個整數(shù)輸入一個整數(shù),判斷奇偶,判斷奇偶CONTENTS10.4 10.4 程序設(shè)計方法程序設(shè)計方法10.1 程序設(shè)計的程序設(shè)計的 概念概念10.2 算法算法10.3 程序設(shè)計語程序設(shè)計語 言言10.4 程序設(shè)計方程序設(shè)計方 法法10.4.3 10.4.3 可視化程序設(shè)計可視化程序設(shè)計讓程序設(shè)計人員利用語言工具本身所提供的各種控件,像讓程序設(shè)計人員利用語言工具本身所提供的各種控件,像搭積木式地構(gòu)造應(yīng)用程序的各種界面,使得整個界面設(shè)計搭積木式地構(gòu)造應(yīng)用程序的各種界面,使得整個界面設(shè)計是在是在“所見即所得所見即所得”的可視化狀態(tài)下完成。相對于編寫代的可

溫馨提示

  • 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

提交評論