




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、任務(wù)任務(wù)3 了解算法與程序設(shè)計(jì)語(yǔ)了解算法與程序設(shè)計(jì)語(yǔ)言言 3.3.1 算法算法 3.3.2 程序設(shè)計(jì)語(yǔ)言的發(fā)展程序設(shè)計(jì)語(yǔ)言的發(fā)展 3.3.3 幾種程序設(shè)計(jì)語(yǔ)言介紹幾種程序設(shè)計(jì)語(yǔ)言介紹 計(jì)算機(jī)求解問(wèn)題的步驟計(jì)算機(jī)求解問(wèn)題的步驟(1) 確定并理解問(wèn)題;確定并理解問(wèn)題;(2) 尋找解決問(wèn)題的方法與步驟,并將其表示尋找解決問(wèn)題的方法與步驟,并將其表示成算法成算法(Algorithm) ;(3) 使用某種程序設(shè)計(jì)語(yǔ)言描述該算法使用某種程序設(shè)計(jì)語(yǔ)言描述該算法(編程編程), 并編譯成目標(biāo)程序和進(jìn)行調(diào)試;并編譯成目標(biāo)程序和進(jìn)行調(diào)試;(4) 運(yùn)行程序,獲得問(wèn)題的解答;運(yùn)行程序,獲得問(wèn)題的解答;(5) 進(jìn)行評(píng)估,
2、改進(jìn)算法和程序進(jìn)行評(píng)估,改進(jìn)算法和程序算法的概念算法的概念 計(jì)算機(jī)算法是問(wèn)題求解規(guī)則方法的一計(jì)算機(jī)算法是問(wèn)題求解規(guī)則方法的一種過(guò)程描述,在執(zhí)行有窮步的運(yùn)算后結(jié)束。種過(guò)程描述,在執(zhí)行有窮步的運(yùn)算后結(jié)束。算法不僅在計(jì)算某一類(lèi)問(wèn)題時(shí)可以應(yīng)用,算法不僅在計(jì)算某一類(lèi)問(wèn)題時(shí)可以應(yīng)用,有時(shí)一些實(shí)際問(wèn)題中也要應(yīng)用算法。有時(shí)一些實(shí)際問(wèn)題中也要應(yīng)用算法。在用計(jì)算機(jī)求解一些問(wèn)題時(shí),必須根據(jù)問(wèn)在用計(jì)算機(jī)求解一些問(wèn)題時(shí),必須根據(jù)問(wèn)題的要求,設(shè)計(jì)出一種算法,以使計(jì)算機(jī)題的要求,設(shè)計(jì)出一種算法,以使計(jì)算機(jī)精確而有效地去求解該問(wèn)題。精確而有效地去求解該問(wèn)題。 算法是解決問(wèn)題的方法與步驟算法是解決問(wèn)題的方法與步驟例:有三個(gè)硬幣
3、,其中一例:有三個(gè)硬幣,其中一個(gè)是偽造的,另兩個(gè)是真?zhèn)€是偽造的,另兩個(gè)是真的,偽幣與真幣重量略有的,偽幣與真幣重量略有不同。現(xiàn)在提供一座天平,不同?,F(xiàn)在提供一座天平,如何找出偽幣呢?如何找出偽幣呢?分析:分析:方法明確而有序方法明確而有序按提供的條件進(jìn)行操作按提供的條件進(jìn)行操作任何人均可仿照進(jìn)行任何人均可仿照進(jìn)行(共享共享智能智能)開(kāi)場(chǎng)開(kāi)場(chǎng)C是偽幣是偽幣B是偽幣是偽幣A是偽幣是偽幣AB?AC?是是否否否否是是A B C關(guān)于算法的三方面問(wèn)題關(guān)于算法的三方面問(wèn)題如何確定算法算法設(shè)計(jì))?如何確定算法算法設(shè)計(jì))?如何表示算法算法表示)?如何表示算法算法表示)?如何使算法更有效算法分析)?如何使算法更有
4、效算法分析)? 算法的特征算法的特征 (1)輸入性。一個(gè)算法可以有多個(gè)輸入,也可以輸入性。一個(gè)算法可以有多個(gè)輸入,也可以沒(méi)有輸入沒(méi)有輸入0個(gè)輸入)。個(gè)輸入)。(2)輸出性。一個(gè)算法必須有一個(gè)或多個(gè)輸出。輸出性。一個(gè)算法必須有一個(gè)或多個(gè)輸出。 (3)確定性。算法的每個(gè)步驟必須有確切的定義,確定性。算法的每個(gè)步驟必須有確切的定義,即每一步驟應(yīng)該執(zhí)行何種動(dòng)作必須是相當(dāng)清楚的、即每一步驟應(yīng)該執(zhí)行何種動(dòng)作必須是相當(dāng)清楚的、無(wú)二義性的。無(wú)二義性的。 (4)有窮性。一個(gè)算法總是在執(zhí)行了有窮步的操有窮性。一個(gè)算法總是在執(zhí)行了有窮步的操作后終止。作后終止。(5能行性。算法中有待執(zhí)行的操作都是可執(zhí)能行性。算法中有
5、待執(zhí)行的操作都是可執(zhí)行的,即在計(jì)算機(jī)的能力范圍之內(nèi),且在有限的行的,即在計(jì)算機(jī)的能力范圍之內(nèi),且在有限的時(shí)間內(nèi)能夠完成。時(shí)間內(nèi)能夠完成。算法的表示算法的表示 算法的表示可以多種形式。算法的表示可以多種形式。(1自然語(yǔ)言。自然語(yǔ)言像英語(yǔ)、漢語(yǔ)等來(lái)描自然語(yǔ)言。自然語(yǔ)言像英語(yǔ)、漢語(yǔ)等來(lái)描述算法的方法述算法的方法 。(2流程圖。使用特定的圖形符號(hào)來(lái)描述描述。流程圖。使用特定的圖形符號(hào)來(lái)描述描述。 (3偽代碼。一種介于自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)偽代碼。一種介于自然語(yǔ)言和程序設(shè)計(jì)語(yǔ)言之間的文字和符號(hào)表達(dá)工具。言之間的文字和符號(hào)表達(dá)工具。 (4程序設(shè)計(jì)語(yǔ)言。使用某一種程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言。使用某一種程序設(shè)計(jì)語(yǔ)
6、言所提供的語(yǔ)言成分,根據(jù)語(yǔ)言的特點(diǎn),并利用語(yǔ)所提供的語(yǔ)言成分,根據(jù)語(yǔ)言的特點(diǎn),并利用語(yǔ)言提供的各種工具和手段,遵照規(guī)定的語(yǔ)法規(guī)則,言提供的各種工具和手段,遵照規(guī)定的語(yǔ)法規(guī)則,去實(shí)現(xiàn)算法這就是所謂的程序編碼。去實(shí)現(xiàn)算法這就是所謂的程序編碼。 文字文字(自然語(yǔ)言自然語(yǔ)言)描繪描繪“比較與的重量,若,則是比較與的重量,若,則是偽造的;否則再比較與的重量,若偽造的;否則再比較與的重量,若,則是偽造的;否則是偽造的。,則是偽造的;否則是偽造的。”缺點(diǎn):缺點(diǎn):容易產(chǎn)生歧義,很難容易產(chǎn)生歧義,很難 “準(zhǔn)確地進(jìn)行表準(zhǔn)確地進(jìn)行表達(dá)達(dá)敘述冗長(zhǎng),很難清楚地表達(dá)算法的邏輯流敘述冗長(zhǎng),很難清楚地表達(dá)算法的邏輯流程程算法
7、的流程圖表示算法的流程圖表示流程圖由結(jié)點(diǎn)和有向邊構(gòu)成,它描流程圖由結(jié)點(diǎn)和有向邊構(gòu)成,它描述了算法所執(zhí)行操作的順序及執(zhí)行述了算法所執(zhí)行操作的順序及執(zhí)行操作的條件操作的條件流程圖符號(hào)流程圖符號(hào) :比文字描述簡(jiǎn)明,但當(dāng)算法比較復(fù)比文字描述簡(jiǎn)明,但當(dāng)算法比較復(fù)雜時(shí),理解困難,容易產(chǎn)生錯(cuò)誤雜時(shí),理解困難,容易產(chǎn)生錯(cuò)誤 端點(diǎn)符端點(diǎn)符處置處置判斷判斷預(yù)定義功能預(yù)定義功能原始數(shù)據(jù)放在原始數(shù)據(jù)放在數(shù)組數(shù)組A中;令中;令 i=1確定確定Ai到到An中最中最小整數(shù)的位置小整數(shù)的位置,設(shè)為設(shè)為jAi 和和Aj交換位置交換位置i = i + 1i = n ?完畢完畢開(kāi)場(chǎng)開(kāi)場(chǎng)用流程圖表示用流程圖表示選擇排序算法選擇排序算
8、法流程圖使用的圖形符號(hào)流程圖使用的圖形符號(hào) 圖形符號(hào)圖形符號(hào)名稱(chēng)名稱(chēng)代表的操作代表的操作輸入輸入/ /輸出輸出數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出處理處理各種形式的數(shù)據(jù)處理各種形式的數(shù)據(jù)處理判斷判斷判斷選擇,根據(jù)條件滿(mǎn)足與否選擇判斷選擇,根據(jù)條件滿(mǎn)足與否選擇不同的路徑不同的路徑起止起止流程的起點(diǎn)與終點(diǎn)流程的起點(diǎn)與終點(diǎn)流程線(xiàn)流程線(xiàn)連接各個(gè)框圖,表示執(zhí)行順序連接各個(gè)框圖,表示執(zhí)行順序連接點(diǎn)連接點(diǎn)表示與流程圖其他部分相連接表示與流程圖其他部分相連接將原始數(shù)據(jù)放在數(shù)組將原始數(shù)據(jù)放在數(shù)組A中;中;設(shè)置設(shè)置i的初值為的初值為1,循環(huán)執(zhí)行下列操作,直到,循環(huán)執(zhí)行下列操作,直到i = n : 確定確定Ai 到到An中
9、最小整數(shù)的位置,設(shè)為中最小整數(shù)的位置,設(shè)為j ; 交換交換Ai和和j ; i = i +1 使用偽代碼描述使用偽代碼描述“選擇排序算法選擇排序算法使用偽代碼描述算法使用偽代碼描述算法偽代碼偽代碼(Pseudo code)是用來(lái)描述算法的一種語(yǔ)是用來(lái)描述算法的一種語(yǔ)言,它既類(lèi)似于自然語(yǔ)言,又使用與程序設(shè)計(jì)語(yǔ)言言,它既類(lèi)似于自然語(yǔ)言,又使用與程序設(shè)計(jì)語(yǔ)言相似的方法描述算法相似的方法描述算法優(yōu)點(diǎn):結(jié)構(gòu)清晰,代碼簡(jiǎn)單,可讀性好,可以容易地優(yōu)點(diǎn):結(jié)構(gòu)清晰,代碼簡(jiǎn)單,可讀性好,可以容易地以任何一種編程語(yǔ)言以任何一種編程語(yǔ)言(Pascal, C, Java等等)實(shí)現(xiàn)實(shí)現(xiàn)每個(gè)整數(shù)是每個(gè)整數(shù)是A的一個(gè)元素:的一
10、個(gè)元素:A1, A2, , An算法的基本要素算法的基本要素(1算法對(duì)數(shù)據(jù)的運(yùn)算和操作算法對(duì)數(shù)據(jù)的運(yùn)算和操作在一般的計(jì)算機(jī)系統(tǒng)中,基本的運(yùn)算和操作包括:在一般的計(jì)算機(jī)系統(tǒng)中,基本的運(yùn)算和操作包括:自述運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸四類(lèi)。自述運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸四類(lèi)。(2算法的控制結(jié)構(gòu)算法的控制結(jié)構(gòu)算法的功能不僅取決于所選用的操作,還與算法算法的功能不僅取決于所選用的操作,還與算法的控制結(jié)構(gòu)有很大關(guān)系。算法的控制結(jié)構(gòu)指的是的控制結(jié)構(gòu)有很大關(guān)系。算法的控制結(jié)構(gòu)指的是算法中各操作之間的執(zhí)行順序。一般情況下,一算法中各操作之間的執(zhí)行順序。一般情況下,一個(gè)算法可以由順序、選擇和循環(huán)個(gè)算
11、法可以由順序、選擇和循環(huán)3種基本控制結(jié)種基本控制結(jié)構(gòu)組合而成。構(gòu)組合而成。 三種基本算法結(jié)構(gòu)的圖形表示三種基本算法結(jié)構(gòu)的圖形表示 (a是順序結(jié)構(gòu),其中的每個(gè)處理是順序結(jié)構(gòu),其中的每個(gè)處理A和和B順序執(zhí)行。順序執(zhí)行。(b是選擇結(jié)構(gòu)。其中是選擇結(jié)構(gòu)。其中e為判決條件,進(jìn)入選擇結(jié)構(gòu),首先為判決條件,進(jìn)入選擇結(jié)構(gòu),首先判斷判斷e成立與否,再根據(jù)判斷結(jié)果,選擇執(zhí)行處理成立與否,再根據(jù)判斷結(jié)果,選擇執(zhí)行處理A或處理或處理B后后退出。退出。循環(huán)結(jié)構(gòu)分為兩類(lèi)。(循環(huán)結(jié)構(gòu)分為兩類(lèi)。(c稱(chēng)為稱(chēng)為“當(dāng)型循環(huán)當(dāng)型循環(huán)”;(;(d稱(chēng)為稱(chēng)為“直到型循環(huán)直到型循環(huán)”。循環(huán)結(jié)構(gòu)中的處理。循環(huán)結(jié)構(gòu)中的處理A是要重復(fù)執(zhí)行的操作,
12、是要重復(fù)執(zhí)行的操作,叫做叫做“循環(huán)體循環(huán)體”;e是控制循環(huán)執(zhí)行的條件。當(dāng)型循環(huán)是當(dāng)條是控制循環(huán)執(zhí)行的條件。當(dāng)型循環(huán)是當(dāng)條件件e成立,就繼續(xù)執(zhí)行成立,就繼續(xù)執(zhí)行A,否則就結(jié)束循環(huán);而直到型循環(huán)是,否則就結(jié)束循環(huán);而直到型循環(huán)是重復(fù)執(zhí)行重復(fù)執(zhí)行A,直到條件,直到條件e成立,循環(huán)結(jié)束。成立,循環(huán)結(jié)束。ABABAETrueFalseBEETrueFalseTrueFalse(a)(b)(c)(d)圖3-4 三種基本算法結(jié)構(gòu)三種基本結(jié)構(gòu)的共同特點(diǎn)三種基本結(jié)構(gòu)的共同特點(diǎn) (1只有單一的入口和單一的出口;只有單一的入口和單一的出口;(2結(jié)構(gòu)中的每個(gè)都有執(zhí)行到的可能;結(jié)構(gòu)中的每個(gè)都有執(zhí)行到的可能;(3結(jié)構(gòu)內(nèi)不
13、存在永不終止的死循環(huán)。結(jié)構(gòu)內(nèi)不存在永不終止的死循環(huán)。算法設(shè)計(jì)的目標(biāo)算法設(shè)計(jì)的目標(biāo) (1) 正確性。算法應(yīng)滿(mǎn)足具體問(wèn)題的需求,這是算法設(shè)正確性。算法應(yīng)滿(mǎn)足具體問(wèn)題的需求,這是算法設(shè)計(jì)最起碼的目標(biāo)。計(jì)最起碼的目標(biāo)。 (2) 可讀性。一個(gè)算法設(shè)計(jì)完成后,并非僅供算法設(shè)計(jì)可讀性。一個(gè)算法設(shè)計(jì)完成后,并非僅供算法設(shè)計(jì)者個(gè)人使用,因此首先應(yīng)讓使用者能夠理解、閱讀與交流,者個(gè)人使用,因此首先應(yīng)讓使用者能夠理解、閱讀與交流,其次才是機(jī)器執(zhí)行。其次才是機(jī)器執(zhí)行。(3) 健壯性。當(dāng)輸入的數(shù)據(jù)非法時(shí),算法應(yīng)當(dāng)能夠做出健壯性。當(dāng)輸入的數(shù)據(jù)非法時(shí),算法應(yīng)當(dāng)能夠做出適當(dāng)?shù)姆磻?yīng)或進(jìn)行處理,從而避免產(chǎn)生不可預(yù)料的輸出結(jié)適當(dāng)?shù)?/p>
14、反應(yīng)或進(jìn)行處理,從而避免產(chǎn)生不可預(yù)料的輸出結(jié)果。果。 (4) 高效率。所謂效率,是指算法執(zhí)行的時(shí)間。對(duì)于同高效率。所謂效率,是指算法執(zhí)行的時(shí)間。對(duì)于同一個(gè)問(wèn)題如果有多個(gè)可供選擇的算法,應(yīng)盡可能選擇執(zhí)行一個(gè)問(wèn)題如果有多個(gè)可供選擇的算法,應(yīng)盡可能選擇執(zhí)行時(shí)間短的算法,這樣的算法無(wú)疑效率是較高的。時(shí)間短的算法,這樣的算法無(wú)疑效率是較高的。 (5) 低存儲(chǔ)量需求。算法的存儲(chǔ)量需求是指算法執(zhí)行過(guò)低存儲(chǔ)量需求。算法的存儲(chǔ)量需求是指算法執(zhí)行過(guò)程中所需的最大存儲(chǔ)空間。對(duì)于同一個(gè)問(wèn)題如果有多個(gè)算程中所需的最大存儲(chǔ)空間。對(duì)于同一個(gè)問(wèn)題如果有多個(gè)算法可供選擇,應(yīng)盡可能選擇存儲(chǔ)量需求低的算法。法可供選擇,應(yīng)盡可能選擇
15、存儲(chǔ)量需求低的算法。 什么是程序設(shè)計(jì)語(yǔ)言?什么是程序設(shè)計(jì)語(yǔ)言?什么是程序?什么是程序?程序是為了用計(jì)算機(jī)解決某個(gè)問(wèn)題而采用程序設(shè)計(jì)語(yǔ)程序是為了用計(jì)算機(jī)解決某個(gè)問(wèn)題而采用程序設(shè)計(jì)語(yǔ)言編寫(xiě)的一個(gè)指令序列言編寫(xiě)的一個(gè)指令序列什么是程序設(shè)計(jì)語(yǔ)言?什么是程序設(shè)計(jì)語(yǔ)言?語(yǔ)言的目的是用于通信語(yǔ)言的目的是用于通信程序設(shè)計(jì)語(yǔ)言用于人與計(jì)算機(jī)之間的通信程序設(shè)計(jì)語(yǔ)言用于人與計(jì)算機(jī)之間的通信程序設(shè)計(jì)語(yǔ)言是由人使用但計(jì)算機(jī)可以理解的一種語(yǔ)程序設(shè)計(jì)語(yǔ)言是由人使用但計(jì)算機(jī)可以理解的一種語(yǔ)言言程序設(shè)計(jì)語(yǔ)言用于編制程序,表達(dá)需要計(jì)算機(jī)完成什程序設(shè)計(jì)語(yǔ)言用于編制程序,表達(dá)需要計(jì)算機(jī)完成什么任務(wù)和怎樣完成任務(wù),然后交給計(jì)算機(jī)去完成
16、么任務(wù)和怎樣完成任務(wù),然后交給計(jì)算機(jī)去完成 程序設(shè)計(jì)語(yǔ)言填補(bǔ)了程序設(shè)計(jì)語(yǔ)言填補(bǔ)了 人與計(jì)算機(jī)交流的鴻溝人與計(jì)算機(jī)交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問(wèn) 題 需 要有 問(wèn) 題 需 要計(jì) 算 機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人交流的鴻溝交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問(wèn) 題 需 要有 問(wèn) 題 需 要計(jì) 算 機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言計(jì)算機(jī)中使用多種計(jì)算機(jī)中使用多種“語(yǔ)言語(yǔ)言”程序設(shè)計(jì)語(yǔ)言:主要用于描述算法程序設(shè)計(jì)語(yǔ)言:主要用于描述算法機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言數(shù)據(jù)描述語(yǔ)言:主要用于描述
17、數(shù)據(jù)文檔、音樂(lè)、圖形、圖像、視頻等數(shù)據(jù)描述語(yǔ)言:主要用于描述數(shù)據(jù)文檔、音樂(lè)、圖形、圖像、視頻等的規(guī)范、結(jié)構(gòu)和文件格式的規(guī)范、結(jié)構(gòu)和文件格式HTML、XML、MIDI、MP3、OpenGL、JPEG、MPEG、腳本語(yǔ)言:用于編寫(xiě)嵌入在文檔中的程序的程序設(shè)計(jì)語(yǔ)言腳本語(yǔ)言:用于編寫(xiě)嵌入在文檔中的程序的程序設(shè)計(jì)語(yǔ)言VBA、VBScript、JavaScript 計(jì)算機(jī)通信語(yǔ)言通信協(xié)議):用于描述計(jì)算機(jī)計(jì)算機(jī)通信語(yǔ)言通信協(xié)議):用于描述計(jì)算機(jī)-計(jì)算機(jī)之間的會(huì)話(huà)計(jì)算機(jī)之間的會(huì)話(huà)懇求懇求-應(yīng)答的語(yǔ)法和語(yǔ)義應(yīng)答的語(yǔ)法和語(yǔ)義、POP3、SMTP、 FTP、 Telnet、TCP、IP、數(shù)據(jù)庫(kù)語(yǔ)言:用于數(shù)據(jù)操作,
18、如數(shù)據(jù)庫(kù)語(yǔ)言:用于數(shù)據(jù)操作,如SQL語(yǔ)言語(yǔ)言程序設(shè)計(jì)語(yǔ)言的發(fā)展程序設(shè)計(jì)語(yǔ)言的發(fā)展 要使計(jì)算機(jī)能夠按人的意圖工作,就必須要使計(jì)算機(jī)能夠按人的意圖工作,就必須使計(jì)算機(jī)懂得人的意圖,接受人向它發(fā)出使計(jì)算機(jī)懂得人的意圖,接受人向它發(fā)出的命令和信息。計(jì)算機(jī)不懂人類(lèi)的語(yǔ)言,的命令和信息。計(jì)算機(jī)不懂人類(lèi)的語(yǔ)言,人們要操縱計(jì)算機(jī),就不得不使用特定的人們要操縱計(jì)算機(jī),就不得不使用特定的語(yǔ)言與之打交道,這種特定的語(yǔ)言就是計(jì)語(yǔ)言與之打交道,這種特定的語(yǔ)言就是計(jì)算機(jī)語(yǔ)言,又稱(chēng)為程序設(shè)計(jì)語(yǔ)言。算機(jī)語(yǔ)言,又稱(chēng)為程序設(shè)計(jì)語(yǔ)言。計(jì)算機(jī)語(yǔ)言也有其自身的發(fā)展過(guò)程,其出計(jì)算機(jī)語(yǔ)言也有其自身的發(fā)展過(guò)程,其出現(xiàn)的順序是:機(jī)器語(yǔ)言、匯編
19、語(yǔ)言、高級(jí)現(xiàn)的順序是:機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言。語(yǔ)言。 機(jī)器語(yǔ)言機(jī)器語(yǔ)言 機(jī)器語(yǔ)言是計(jì)算機(jī)惟一能夠直接識(shí)別和執(zhí)行的一機(jī)器語(yǔ)言是計(jì)算機(jī)惟一能夠直接識(shí)別和執(zhí)行的一種計(jì)算機(jī)語(yǔ)言,它是以二進(jìn)制代碼的形式表示的種計(jì)算機(jī)語(yǔ)言,它是以二進(jìn)制代碼的形式表示的機(jī)器指令。機(jī)器指令。優(yōu)點(diǎn):計(jì)算機(jī)能直接識(shí)別、運(yùn)行速度快、占用內(nèi)優(yōu)點(diǎn):計(jì)算機(jī)能直接識(shí)別、運(yùn)行速度快、占用內(nèi)存空間小。存空間小。缺點(diǎn):直觀(guān)性差,難記、難寫(xiě),非常容易出錯(cuò);缺點(diǎn):直觀(guān)性差,難記、難寫(xiě),非常容易出錯(cuò);面向具體的機(jī)器,通用性差;需要人工分配內(nèi)存,面向具體的機(jī)器,通用性差;需要人工分配內(nèi)存,編程工作量大。編程工作量大。由于機(jī)器語(yǔ)言的缺點(diǎn)難以克服,給
20、計(jì)算機(jī)的推廣由于機(jī)器語(yǔ)言的缺點(diǎn)難以克服,給計(jì)算機(jī)的推廣使用造成了很大的障礙。為此,人們?cè)O(shè)計(jì)出了便使用造成了很大的障礙。為此,人們?cè)O(shè)計(jì)出了便于記憶的助記符式語(yǔ)言,即匯編語(yǔ)言。于記憶的助記符式語(yǔ)言,即匯編語(yǔ)言。B8 7F 01BB 21 0203 D8B8 1F 042B C3(計(jì)算(計(jì)算1055-(383+545)的的5條機(jī)器指令)條機(jī)器指令) 機(jī)器語(yǔ)言機(jī)器語(yǔ)言 用機(jī)器語(yǔ)言編程序用機(jī)器語(yǔ)言編程序, 也就是直接使用二進(jìn)制代碼編寫(xiě)也就是直接使用二進(jìn)制代碼編寫(xiě)程序程序操作碼操作碼操作數(shù)操作數(shù)(或操作數(shù)的地址或操作數(shù)的地址)1條機(jī)器指令條機(jī)器指令操作數(shù)地操作數(shù)地址址操作碼操作碼匯編語(yǔ)言匯編語(yǔ)言 匯編語(yǔ)言
21、是用一些便于人們記憶的符號(hào)來(lái)匯編語(yǔ)言是用一些便于人們記憶的符號(hào)來(lái)代替二進(jìn)制數(shù)碼,這些符號(hào)都是一些可以代替二進(jìn)制數(shù)碼,這些符號(hào)都是一些可以指明操作含義的英文單詞指明操作含義的英文單詞(或其縮寫(xiě)或其縮寫(xiě)),因,因此也叫助記符式語(yǔ)言。這種語(yǔ)言具有如下此也叫助記符式語(yǔ)言。這種語(yǔ)言具有如下優(yōu)缺點(diǎn)。優(yōu)缺點(diǎn)。優(yōu)點(diǎn):運(yùn)行速度快,占用空間小;易學(xué)、優(yōu)點(diǎn):運(yùn)行速度快,占用空間小;易學(xué)、易懂、易查錯(cuò)、易修改易懂、易查錯(cuò)、易修改缺點(diǎn):機(jī)器不能直接識(shí)別;面向機(jī)器,通缺點(diǎn):機(jī)器不能直接識(shí)別;面向機(jī)器,通用性差。用性差。 匯編語(yǔ)言匯編語(yǔ)言用助記符號(hào)來(lái)表示機(jī)器指令用助記符號(hào)來(lái)表示機(jī)器指令中的操作符與操作數(shù)中的操作符與操作數(shù)將
22、將383傳送到傳送到AX寄存器寄存器將將545傳送到傳送到BX寄存器寄存器將將BX內(nèi)容加內(nèi)容加AX內(nèi)容,結(jié)果在內(nèi)容,結(jié)果在BX中中將將1055傳送到傳送到AX寄存器寄存器將將AX內(nèi)容減內(nèi)容減BX內(nèi)容,結(jié)果在內(nèi)容,結(jié)果在AX寄寄存器中存器中B8 7F 01BB 21 0203 D8B8 1F 042B C3(計(jì)算(計(jì)算1055-(383+545)的的5條機(jī)器指令)條機(jī)器指令)機(jī)器語(yǔ)言程序機(jī)器語(yǔ)言程序?qū)?yīng)的匯編語(yǔ)言程序?qū)?yīng)的匯編語(yǔ)言程序MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX匯編語(yǔ)言程序匯編語(yǔ)言程序高級(jí)語(yǔ)言高級(jí)語(yǔ)言 高級(jí)語(yǔ)言,克服了低級(jí)語(yǔ)言
23、的所有缺點(diǎn)。高級(jí)語(yǔ)言,克服了低級(jí)語(yǔ)言的所有缺點(diǎn)。優(yōu)點(diǎn):接近于自然語(yǔ)言;能精確地描述解決問(wèn)題優(yōu)點(diǎn):接近于自然語(yǔ)言;能精確地描述解決問(wèn)題的過(guò)程;不依賴(lài)于具體的計(jì)算機(jī)指令系統(tǒng);不需的過(guò)程;不依賴(lài)于具體的計(jì)算機(jī)指令系統(tǒng);不需人工分配內(nèi)存;運(yùn)行速度慢,片用內(nèi)存空間大;人工分配內(nèi)存;運(yùn)行速度慢,片用內(nèi)存空間大;計(jì)算機(jī)不能直接識(shí)別和運(yùn)行計(jì)算機(jī)不能直接識(shí)別和運(yùn)行盡管高級(jí)語(yǔ)言還有一定的缺點(diǎn),但因?yàn)樗娘@著盡管高級(jí)語(yǔ)言還有一定的缺點(diǎn),但因?yàn)樗娘@著優(yōu)點(diǎn),所以才使計(jì)算機(jī)的推可能。目前,常用的優(yōu)點(diǎn),所以才使計(jì)算機(jī)的推可能。目前,常用的高級(jí)語(yǔ)言有高級(jí)語(yǔ)言有C語(yǔ)言、語(yǔ)言、VC、VB、C#等。等。高級(jí)程序設(shè)計(jì)語(yǔ)言高級(jí)程序設(shè)
24、計(jì)語(yǔ)言MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX匯編語(yǔ)言程序匯編語(yǔ)言程序S=1055-(383+545)語(yǔ)言處理語(yǔ)言處理(翻譯翻譯)程序程序 (1)匯編語(yǔ)言的翻譯匯編語(yǔ)言的翻譯用匯編語(yǔ)言編寫(xiě)的程序通常稱(chēng)為匯編語(yǔ)言用匯編語(yǔ)言編寫(xiě)的程序通常稱(chēng)為匯編語(yǔ)言源程序。這樣的程序計(jì)算機(jī)是不能直接識(shí)源程序。這樣的程序計(jì)算機(jī)是不能直接識(shí)別和執(zhí)行的,必須用相應(yīng)的翻譯程序別和執(zhí)行的,必須用相應(yīng)的翻譯程序(稱(chēng)稱(chēng)為匯編程序?yàn)閰R編程序)將匯編語(yǔ)言源程序翻譯成機(jī)將匯編語(yǔ)言源程序翻譯成機(jī)器能夠執(zhí)行的機(jī)器語(yǔ)言程序器能夠執(zhí)行的機(jī)器語(yǔ)言程序(稱(chēng)為目標(biāo)程稱(chēng)為目標(biāo)程序序),這個(gè)翻
25、譯過(guò)程叫做匯編。,這個(gè)翻譯過(guò)程叫做匯編。匯編語(yǔ)言源程序目標(biāo)程序可執(zhí)行程序運(yùn)行結(jié)果匯編程序匯編連接語(yǔ)言處理語(yǔ)言處理(翻譯翻譯)程序程序(2)高級(jí)語(yǔ)言的翻譯高級(jí)語(yǔ)言的翻譯編譯方式:用相應(yīng)語(yǔ)言的編譯程序?qū)⒃淳幾g方式:用相應(yīng)語(yǔ)言的編譯程序?qū)⒃闯绦蚍g成目標(biāo)程序,再用連接程序?qū)⒛砍绦蚍g成目標(biāo)程序,再用連接程序?qū)⒛繕?biāo)程序與函數(shù)庫(kù)連接,最終生成可執(zhí)行程標(biāo)程序與函數(shù)庫(kù)連接,最終生成可執(zhí)行程序即可在計(jì)算機(jī)上運(yùn)行。序即可在計(jì)算機(jī)上運(yùn)行。 高級(jí)語(yǔ)言源程序目標(biāo)程序可執(zhí)行程序運(yùn)行結(jié)果編譯程序編譯連接語(yǔ)言處理語(yǔ)言處理(翻譯翻譯)程序程序(2)高級(jí)語(yǔ)言的翻譯高級(jí)語(yǔ)言的翻譯解釋方式:通過(guò)相應(yīng)的解釋程序?qū)⒃闯探忉尫绞剑和ㄟ^(guò)相
26、應(yīng)的解釋程序?qū)⒃闯绦蛑鹁浞g成機(jī)器指令,并且是每翻譯一序逐句翻譯成機(jī)器指令,并且是每翻譯一句就執(zhí)行一句。解釋程序不產(chǎn)生目標(biāo)程序,句就執(zhí)行一句。解釋程序不產(chǎn)生目標(biāo)程序,執(zhí)行過(guò)程中某句有錯(cuò)誤將立即顯示出錯(cuò)誤執(zhí)行過(guò)程中某句有錯(cuò)誤將立即顯示出錯(cuò)誤信息,以便用戶(hù)修改后繼續(xù)執(zhí)行。信息,以便用戶(hù)修改后繼續(xù)執(zhí)行。 高級(jí)語(yǔ)言源程序運(yùn)行結(jié)果解釋程序解釋并執(zhí)行程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言 :Fortran Fortran是英文是英文“FORmula TRANslator的縮寫(xiě),譯為的縮寫(xiě),譯為“公式翻譯公式翻譯器器”,它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí),它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于科學(xué)和工程計(jì)程序
27、設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。算領(lǐng)域。FORTRAN語(yǔ)言以其特有的功能在數(shù)值、語(yǔ)言以其特有的功能在數(shù)值、科學(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用??茖W(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用。程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言 :Pascal與與Delphi Pascal是一個(gè)有影響的面向過(guò)程編程語(yǔ)言,由是一個(gè)有影響的面向過(guò)程編程語(yǔ)言,由尼古拉斯尼古拉斯沃斯在沃斯在1968年年9月設(shè)計(jì),在月設(shè)計(jì),在1970年年發(fā)行,作為一個(gè)小型的和高效的語(yǔ)言,意圖鼓勵(lì)發(fā)行,作為一個(gè)小型的和高效的語(yǔ)言,意圖鼓勵(lì)使用結(jié)構(gòu)化編程和數(shù)據(jù)結(jié)構(gòu)進(jìn)行良好的編程實(shí)踐。使用結(jié)構(gòu)化編程和數(shù)據(jù)結(jié)構(gòu)進(jìn)行良好的編程實(shí)踐。Delphi是一個(gè)集成開(kāi)發(fā)環(huán)境是一
28、個(gè)集成開(kāi)發(fā)環(huán)境IDE),使用的),使用的核心是由傳統(tǒng)核心是由傳統(tǒng)Pascal語(yǔ)言發(fā)展而來(lái)的語(yǔ)言發(fā)展而來(lái)的Object Pascal,以圖形用戶(hù)界面,以圖形用戶(hù)界面Graphical User Interface,簡(jiǎn)稱(chēng),簡(jiǎn)稱(chēng)GUI為開(kāi)發(fā)環(huán)境,通過(guò)為開(kāi)發(fā)環(huán)境,通過(guò)IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫(kù)的功工具與編譯器,配合連結(jié)數(shù)據(jù)庫(kù)的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開(kāi)發(fā)工具。程序開(kāi)發(fā)工具。程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言 :Basic, Visual Basic和和VB BASIC是是Beginners All-purpose symbolic
29、 instruction Code初學(xué)者通用初學(xué)者通用符號(hào)指令代碼的縮寫(xiě),是國(guó)際上廣泛使用的一符號(hào)指令代碼的縮寫(xiě),是國(guó)際上廣泛使用的一種計(jì)算機(jī)高級(jí)語(yǔ)言,它的特點(diǎn)是簡(jiǎn)單、易學(xué)。種計(jì)算機(jī)高級(jí)語(yǔ)言,它的特點(diǎn)是簡(jiǎn)單、易學(xué)。1991年,年,Visual Basic 1.0問(wèn)世,它允許程問(wèn)世,它允許程序員在一個(gè)所見(jiàn)即所得的圖形界面中迅速完成開(kāi)序員在一個(gè)所見(jiàn)即所得的圖形界面中迅速完成開(kāi)發(fā)任務(wù)。發(fā)任務(wù)。2019年發(fā)布的年發(fā)布的Visual Basic 6.0是是傳統(tǒng)傳統(tǒng)Visual Basic中功能最全、應(yīng)用最廣的一中功能最全、應(yīng)用最廣的一個(gè)版本。個(gè)版本。微軟后來(lái)開(kāi)發(fā)了微軟后來(lái)開(kāi)發(fā)了VB的繼任者的繼任者Visual Basic .NET,同時(shí)也是,同時(shí)也是.NET平臺(tái)的一部分。平臺(tái)的一部分。程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言 : Java Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蚴且环N可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由設(shè)計(jì)語(yǔ)言,是由Sun Microsystems公司于公司于2019年年5月推出的月推出的Java程序設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)家長(zhǎng)會(huì)校長(zhǎng)發(fā)言
- 2024廣告設(shè)計(jì)師能力要求分析試題及答案
- 2024年紡織工程師生產(chǎn)線(xiàn)優(yōu)化試題及答案
- 國(guó)際商業(yè)美術(shù)設(shè)計(jì)師考試實(shí)際案例研究試題及答案
- 水泥實(shí)驗(yàn)考試題及答案
- 河南物理期中試題及答案
- hr證書(shū)考試題庫(kù)及答案
- 下料工考試試題及答案
- 光伏站區(qū)動(dòng)力電纜技術(shù)規(guī)范書(shū)
- 文字類(lèi)考試題及答案
- 輸變電工程建設(shè)管理綱要
- 全球化背景下高中歷史家國(guó)情懷教育的策略
- 租地臨時(shí)建房合同協(xié)議
- 四川達(dá)州鋼鐵集團(tuán)招聘筆試題庫(kù)2025
- 檢驗(yàn)科質(zhì)量安全制度和流程
- 施工電梯安裝方案 完整版
- 西部計(jì)劃考試考題及答案
- 譯林版英語(yǔ)三年級(jí)下冊(cè)單詞表
- 農(nóng)村安全用電知識(shí)宣傳培訓(xùn)
- 《門(mén)診醫(yī)療質(zhì)量管理》課件
- 【地理】俄羅斯第1課時(shí) 課件-2024-2025學(xué)年七年級(jí)地理下冊(cè)(湘教版2024)
評(píng)論
0/150
提交評(píng)論