版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、任務(wù)任務(wù)3 了解算法與程序設(shè)計(jì)語了解算法與程序設(shè)計(jì)語言言 3.3.1 算法算法 3.3.2 程序設(shè)計(jì)語言的發(fā)展程序設(shè)計(jì)語言的發(fā)展 3.3.3 幾種程序設(shè)計(jì)語言介紹幾種程序設(shè)計(jì)語言介紹 計(jì)算機(jī)計(jì)算機(jī)求解問題的步驟求解問題的步驟(1) 確定并理解問題;確定并理解問題;(2) 尋找解決問題的方法與步驟,并將其表示尋找解決問題的方法與步驟,并將其表示成成算法算法(Algorithm) ;(3) 使用某種程序設(shè)計(jì)語言描述該算法使用某種程序設(shè)計(jì)語言描述該算法(編程編程), 并編譯成目標(biāo)程序和進(jìn)行調(diào)試;并編譯成目標(biāo)程序和進(jìn)行調(diào)試;(4) 運(yùn)行程序,獲得問題的解答;運(yùn)行程序,獲得問題的解答;(5) 進(jìn)行評(píng)估,
2、改進(jìn)算法和程序進(jìn)行評(píng)估,改進(jìn)算法和程序算法的概念算法的概念 計(jì)算機(jī)算法是問題求解規(guī)則(方法)的一計(jì)算機(jī)算法是問題求解規(guī)則(方法)的一種過程描述,在執(zhí)行有窮步的運(yùn)算后結(jié)束。種過程描述,在執(zhí)行有窮步的運(yùn)算后結(jié)束。算法不僅在計(jì)算某一類問題時(shí)可以應(yīng)用,算法不僅在計(jì)算某一類問題時(shí)可以應(yīng)用,有時(shí)一些實(shí)際問題中也要應(yīng)用算法。有時(shí)一些實(shí)際問題中也要應(yīng)用算法。在用計(jì)算機(jī)求解一些問題時(shí),必須根據(jù)問在用計(jì)算機(jī)求解一些問題時(shí),必須根據(jù)問題的要求,設(shè)計(jì)出一種算法,以使計(jì)算機(jī)題的要求,設(shè)計(jì)出一種算法,以使計(jì)算機(jī)精確而有效地去求解該問題。精確而有效地去求解該問題。 算法是解決問題的方法與步驟算法是解決問題的方法與步驟例:有
3、三個(gè)硬幣,其中一例:有三個(gè)硬幣,其中一個(gè)是偽造的,另兩個(gè)是真?zhèn)€是偽造的,另兩個(gè)是真的,偽幣與真幣重量略有的,偽幣與真幣重量略有不同?,F(xiàn)在提供一座天平,不同?,F(xiàn)在提供一座天平,如何如何找出偽幣呢?找出偽幣呢?分析:分析:l方法明確而有序方法明確而有序l按提供的條件進(jìn)行操作按提供的條件進(jìn)行操作l任何人均可仿照進(jìn)行任何人均可仿照進(jìn)行(共共享智能享智能)開始開始C是偽幣是偽幣B是偽幣是偽幣A是偽幣是偽幣AB?AC?是是否否否否是是A B C關(guān)于算法的三方面問題關(guān)于算法的三方面問題如何確定算法(算法設(shè)計(jì))?如何確定算法(算法設(shè)計(jì))?如何表示算法(算法表示)?如何表示算法(算法表示)?如何使算法更有效(算
4、法分析)?如何使算法更有效(算法分析)? 算法的特征算法的特征 (1)輸入性。一個(gè)算法可以有多個(gè)輸入,也可以輸入性。一個(gè)算法可以有多個(gè)輸入,也可以沒有輸入(沒有輸入(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)清楚的、無二義性的。無二義性的。 (4)有窮性。一個(gè)算法總是在執(zhí)行了有窮步的操有窮性。一個(gè)算法總是在執(zhí)行了有窮步的操作后終止。作后終止。(5)能行性。算法中有待執(zhí)
5、行的操作都是可執(zhí))能行性。算法中有待執(zhí)行的操作都是可執(zhí)行的,即在計(jì)算機(jī)的能力范圍之內(nèi),且在有限的行的,即在計(jì)算機(jī)的能力范圍之內(nèi),且在有限的時(shí)間內(nèi)能夠完成。時(shí)間內(nèi)能夠完成。算法的表示算法的表示 算法的表示可以多種形式。算法的表示可以多種形式。(1)自然語言。自然語言像英語、漢語等來描)自然語言。自然語言像英語、漢語等來描述算法的方法述算法的方法 。(2)流程圖。使用特定的圖形符號(hào)來描述描述。)流程圖。使用特定的圖形符號(hào)來描述描述。 (3)偽代碼。一種介于自然語言和程序設(shè)計(jì)語)偽代碼。一種介于自然語言和程序設(shè)計(jì)語言之間的文字和符號(hào)表達(dá)工具。言之間的文字和符號(hào)表達(dá)工具。 (4)程序設(shè)計(jì)語言。使用某一
6、種程序設(shè)計(jì)語言)程序設(shè)計(jì)語言。使用某一種程序設(shè)計(jì)語言所提供的語言成分,根據(jù)語言的特點(diǎn),并利用語所提供的語言成分,根據(jù)語言的特點(diǎn),并利用語言提供的各種工具和手段,遵照規(guī)定的語法規(guī)則,言提供的各種工具和手段,遵照規(guī)定的語法規(guī)則,去實(shí)現(xiàn)算法這就是所謂的程序編碼。去實(shí)現(xiàn)算法這就是所謂的程序編碼。 文字文字(自然語言自然語言)描述描述“比較與的重量,若,則是比較與的重量,若,則是偽造的;否則再比較與的重量,若偽造的;否則再比較與的重量,若,則是偽造的;否則是偽造的。,則是偽造的;否則是偽造的?!比秉c(diǎn):缺點(diǎn):l容易產(chǎn)生歧義,容易產(chǎn)生歧義,很難很難 “精確精確”地進(jìn)行表達(dá)地進(jìn)行表達(dá)l敘述冗長,很難清楚地表達(dá)
7、算法的邏輯流程敘述冗長,很難清楚地表達(dá)算法的邏輯流程算法的流程圖表示算法的流程圖表示流程圖由結(jié)點(diǎn)和有向邊構(gòu)成,它描流程圖由結(jié)點(diǎn)和有向邊構(gòu)成,它描述了算法所執(zhí)行操作的順序及執(zhí)行述了算法所執(zhí)行操作的順序及執(zhí)行操作的條件操作的條件流程圖符號(hào)流程圖符號(hào) :比文字描述簡明,但當(dāng)算法比較復(fù)比文字描述簡明,但當(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 ?結(jié)束結(jié)
8、束開始開始用流程圖表示用流程圖表示選擇排序算法選擇排序算法流程圖使用的圖形符號(hào)流程圖使用的圖形符號(hào) 將原始數(shù)據(jù)放在數(shù)組將原始數(shù)據(jù)放在數(shù)組A A中;中;設(shè)置設(shè)置i i的初值為的初值為1 1,循環(huán)執(zhí)行下列操作,直到,循環(huán)執(zhí)行下列操作,直到i = n i = n : 確定確定Ai Ai 到到AnAn中最小整數(shù)的位置,設(shè)為中最小整數(shù)的位置,設(shè)為j j ; 交換交換AiAi和和j j ; i = i +1i = i +1 使用偽代碼描述使用偽代碼描述“選擇排序選擇排序”算法算法使用偽代碼描述算法使用偽代碼描述算法偽代碼偽代碼(Pseudo code)是用來描述算法的一種語是用來描述算法的一種語言,它既類
9、似于自然語言,又使用與程序設(shè)計(jì)語言言,它既類似于自然語言,又使用與程序設(shè)計(jì)語言相似的方法描述算法相似的方法描述算法優(yōu)點(diǎn):結(jié)構(gòu)清晰,代碼簡單,可讀性好,可以容易地優(yōu)點(diǎn):結(jié)構(gòu)清晰,代碼簡單,可讀性好,可以容易地以任何一種編程語言以任何一種編程語言(Pascal, C, Java等等)實(shí)現(xiàn)實(shí)現(xiàn)每個(gè)整數(shù)是每個(gè)整數(shù)是A的一個(gè)元素:的一個(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ù)傳輸四類。自述運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、
10、數(shù)據(jù)傳輸四類。(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è)算法可以由順序、選擇和循環(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)。其中
11、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)分為兩類。(循環(huán)結(jié)構(gòu)分為兩類。(c)稱為)稱為“當(dāng)型循環(huán)當(dāng)型循環(huán)”;(;(d)稱為)稱為“直到型循環(huán)直到型循環(huán)”。循環(huán)結(jié)構(gòu)中的處理。循環(huán)結(jié)構(gòu)中的處理A是要重復(fù)執(zhí)行的操作,是要重復(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
12、,直到條件,直到條件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)不存在永不終止的死循環(huán)。)結(jié)構(gòu)內(nèi)不存在永不終止的死循環(huán)。算法設(shè)計(jì)的目標(biāo)算法設(shè)計(jì)的目標(biāo) (1) 正確性。算法應(yīng)滿足具體問題的需求,這是算法設(shè)正確性。算法應(yīng)滿足具體問題的需求,這是算法設(shè)計(jì)最起碼的目標(biāo)。計(jì)最起碼的目標(biāo)。 (2) 可讀性。一
13、個(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ù)姆磻?yīng)或進(jìn)行處理,從而避免產(chǎn)生不可預(yù)料的輸出結(jié)果。果。 (4) 高效率。所謂效率,是指算法執(zhí)行的時(shí)間。對(duì)于同高效率。所謂效率,是指算法執(zhí)行的時(shí)間。對(duì)于同一個(gè)問題如果有多個(gè)可供選擇的算法,應(yīng)盡可能選擇執(zhí)行一個(gè)問題如果有多個(gè)可供選擇的算
14、法,應(yīng)盡可能選擇執(zhí)行時(shí)間短的算法,這樣的算法無疑效率是較高的。時(shí)間短的算法,這樣的算法無疑效率是較高的。 (5) 低存儲(chǔ)量需求。算法的存儲(chǔ)量需求是指算法執(zhí)行過低存儲(chǔ)量需求。算法的存儲(chǔ)量需求是指算法執(zhí)行過程中所需的最大存儲(chǔ)空間。對(duì)于同一個(gè)問題如果有多個(gè)算程中所需的最大存儲(chǔ)空間。對(duì)于同一個(gè)問題如果有多個(gè)算法可供選擇,應(yīng)盡可能選擇存儲(chǔ)量需求低的算法。法可供選擇,應(yīng)盡可能選擇存儲(chǔ)量需求低的算法。 什么是程序設(shè)計(jì)語言?什么是程序設(shè)計(jì)語言?什么是程序?什么是程序?l程序是為了用計(jì)算機(jī)解決某個(gè)問題而采用程序是為了用計(jì)算機(jī)解決某個(gè)問題而采用程序設(shè)計(jì)語言程序設(shè)計(jì)語言編寫編寫的一個(gè)指令序列的一個(gè)指令序列什么是程序
15、設(shè)計(jì)語言?什么是程序設(shè)計(jì)語言?l語言的目的是用于通信語言的目的是用于通信l程序設(shè)計(jì)語言用于人與計(jì)算機(jī)之間的通信程序設(shè)計(jì)語言用于人與計(jì)算機(jī)之間的通信l程序設(shè)計(jì)語言是由人使用但計(jì)算機(jī)可以理解的一種語言程序設(shè)計(jì)語言是由人使用但計(jì)算機(jī)可以理解的一種語言l程序設(shè)計(jì)語言用于編制程序,表達(dá)需要計(jì)算機(jī)完成什么任務(wù)程序設(shè)計(jì)語言用于編制程序,表達(dá)需要計(jì)算機(jī)完成什么任務(wù)和怎樣完成任務(wù),然后交給計(jì)算機(jī)去完成和怎樣完成任務(wù),然后交給計(jì)算機(jī)去完成 程序設(shè)計(jì)語言填補(bǔ)了程序設(shè)計(jì)語言填補(bǔ)了 人與計(jì)算機(jī)交流的鴻溝人與計(jì)算機(jī)交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問 題 需 要有 問 題 需 要計(jì) 算 機(jī) 解 決
16、計(jì) 算 機(jī) 解 決的人的人交流的鴻溝交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問 題 需 要有 問 題 需 要計(jì) 算 機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人程序設(shè)計(jì)語言程序設(shè)計(jì)語言計(jì)算機(jī)中使用多種計(jì)算機(jī)中使用多種“語言語言”程序設(shè)計(jì)語言:主要用于描述算法程序設(shè)計(jì)語言:主要用于描述算法l機(jī)器語言、匯編語言、高級(jí)語言機(jī)器語言、匯編語言、高級(jí)語言數(shù)據(jù)描述語言:主要用于描述數(shù)據(jù)(文檔、音樂、圖形、圖像、視頻等)數(shù)據(jù)描述語言:主要用于描述數(shù)據(jù)(文檔、音樂、圖形、圖像、視頻等)的規(guī)范、結(jié)構(gòu)和文件格式的規(guī)范、結(jié)構(gòu)和文件格式lHTML、XML、MIDI、MP3、OpenGL、JPEG、MPEG、
17、腳本語言:用于編寫嵌入在文檔中的程序的程序設(shè)計(jì)語言腳本語言:用于編寫嵌入在文檔中的程序的程序設(shè)計(jì)語言lVBA、VBScript、JavaScript 計(jì)算機(jī)通信語言(通信協(xié)議):用于描述計(jì)算機(jī)計(jì)算機(jī)通信語言(通信協(xié)議):用于描述計(jì)算機(jī)-計(jì)算機(jī)之間的會(huì)話計(jì)算機(jī)之間的會(huì)話(請(qǐng)求(請(qǐng)求-應(yīng)答)的語法和語義應(yīng)答)的語法和語義lHTTP、POP3、SMTP、 FTP、 Telnet、TCP、IP、數(shù)據(jù)庫語言:用于數(shù)據(jù)操作,如數(shù)據(jù)庫語言:用于數(shù)據(jù)操作,如SQL語言語言程序設(shè)計(jì)語言的發(fā)展程序設(shè)計(jì)語言的發(fā)展 要使計(jì)算機(jī)能夠按人的意圖工作,就必須要使計(jì)算機(jī)能夠按人的意圖工作,就必須使計(jì)算機(jī)懂得人的意圖,接受人向
18、它發(fā)出使計(jì)算機(jī)懂得人的意圖,接受人向它發(fā)出的命令和信息。計(jì)算機(jī)不懂人類的語言,的命令和信息。計(jì)算機(jī)不懂人類的語言,人們要操縱計(jì)算機(jī),就不得不使用特定的人們要操縱計(jì)算機(jī),就不得不使用特定的語言與之打交道,這種特定的語言就是計(jì)語言與之打交道,這種特定的語言就是計(jì)算機(jī)語言,又稱為程序設(shè)計(jì)語言。算機(jī)語言,又稱為程序設(shè)計(jì)語言。計(jì)算機(jī)語言也有其自身的發(fā)展過程,其出計(jì)算機(jī)語言也有其自身的發(fā)展過程,其出現(xiàn)的順序是:機(jī)器語言、匯編語言、高級(jí)現(xiàn)的順序是:機(jī)器語言、匯編語言、高級(jí)語言。語言。 機(jī)器語言機(jī)器語言 機(jī)器語言是計(jì)算機(jī)惟一能夠直接識(shí)別和執(zhí)行的一機(jī)器語言是計(jì)算機(jī)惟一能夠直接識(shí)別和執(zhí)行的一種計(jì)算機(jī)語言,它是以二
19、進(jìn)制代碼的形式表示的種計(jì)算機(jī)語言,它是以二進(jìn)制代碼的形式表示的機(jī)器指令。機(jī)器指令。l優(yōu)點(diǎn):計(jì)算機(jī)能直接識(shí)別、運(yùn)行速度快、占用內(nèi)存空優(yōu)點(diǎn):計(jì)算機(jī)能直接識(shí)別、運(yùn)行速度快、占用內(nèi)存空間小。間小。l缺點(diǎn):直觀性差,難記、難寫,非常容易出錯(cuò);面向缺點(diǎn):直觀性差,難記、難寫,非常容易出錯(cuò);面向具體的機(jī)器,通用性差;需要人工分配內(nèi)存,編程工具體的機(jī)器,通用性差;需要人工分配內(nèi)存,編程工作量大。作量大。B8 7F 01BB 21 0203 D8B8 1F 042B C3(計(jì)算(計(jì)算1055-(383+545)的的5條機(jī)器指令)條機(jī)器指令) 機(jī)器語言機(jī)器語言 用機(jī)器語言編程序用機(jī)器語言編程序, 也就是直接使用二
20、進(jìn)制代碼編寫也就是直接使用二進(jìn)制代碼編寫程序程序操作碼操作碼操作數(shù)操作數(shù)(或操作數(shù)的地址或操作數(shù)的地址)1條機(jī)器指令條機(jī)器指令操作數(shù)地址操作數(shù)地址操作碼操作碼匯編語言匯編語言 匯編語言是用一些便于人們記憶的符號(hào)來匯編語言是用一些便于人們記憶的符號(hào)來代替二進(jìn)制數(shù)碼,這些符號(hào)都是一些可以代替二進(jìn)制數(shù)碼,這些符號(hào)都是一些可以指明操作含義的英文單詞指明操作含義的英文單詞(或其縮寫或其縮寫),因,因此也叫助記符式語言。這種語言具有如下此也叫助記符式語言。這種語言具有如下優(yōu)缺點(diǎn)。優(yōu)缺點(diǎn)。l優(yōu)點(diǎn):運(yùn)行速度快,占用空間??;易學(xué)、易懂、優(yōu)點(diǎn):運(yùn)行速度快,占用空間小;易學(xué)、易懂、易查錯(cuò)、易修改易查錯(cuò)、易修改l缺點(diǎn)
21、:機(jī)器不能直接識(shí)別;面向機(jī)器,通用性缺點(diǎn):機(jī)器不能直接識(shí)別;面向機(jī)器,通用性差。差。 匯編語言匯編語言用助記符號(hào)來表示機(jī)器指令用助記符號(hào)來表示機(jī)器指令中的操作符與操作數(shù)中的操作符與操作數(shù)將將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ī)器語言程序機(jī)器語言程序?qū)?yīng)的匯編語
22、言程序?qū)?yīng)的匯編語言程序MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX匯編語言程序匯編語言程序高級(jí)語言高級(jí)語言 高級(jí)語言,克服了低級(jí)語言的所有缺點(diǎn)。高級(jí)語言,克服了低級(jí)語言的所有缺點(diǎn)。優(yōu)點(diǎn):接近于自然語言;能精確地描述解決問題優(yōu)點(diǎn):接近于自然語言;能精確地描述解決問題的過程;不依賴于具體的計(jì)算機(jī)指令系統(tǒng);不需的過程;不依賴于具體的計(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í)語言還有一定的缺點(diǎn),但因?yàn)樗娘@著盡管高級(jí)語言還有一定的
23、缺點(diǎn),但因?yàn)樗娘@著優(yōu)點(diǎn),所以才使計(jì)算機(jī)的推可能。目前,常用的優(yōu)點(diǎn),所以才使計(jì)算機(jī)的推可能。目前,常用的高級(jí)語言有高級(jí)語言有C語言、語言、VC、VB、C#等。等。高級(jí)程序設(shè)計(jì)語言高級(jí)程序設(shè)計(jì)語言MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX匯編語言程序匯編語言程序S=1055-(383+545)語言處理語言處理(翻譯翻譯)程序程序 (1)匯編語言的翻譯匯編語言的翻譯用匯編語言編寫的程序通常稱為匯編語言源程序。這樣的程用匯編語言編寫的程序通常稱為匯編語言源程序。這樣的程序計(jì)算機(jī)是不能直接識(shí)別和執(zhí)行的,必須用相應(yīng)的翻譯程序序計(jì)算機(jī)是不能直接識(shí)別和
24、執(zhí)行的,必須用相應(yīng)的翻譯程序(稱為匯編程序稱為匯編程序)將匯編語言源程序翻譯成機(jī)器能夠執(zhí)行的機(jī)將匯編語言源程序翻譯成機(jī)器能夠執(zhí)行的機(jī)器語言程序器語言程序(稱為目標(biāo)程序稱為目標(biāo)程序),這個(gè)翻譯過程叫做匯編。,這個(gè)翻譯過程叫做匯編。匯編語言源程序目標(biāo)程序可執(zhí)行程序運(yùn)行結(jié)果匯編程序匯編連接語言處理語言處理(翻譯翻譯)程序程序(2)高級(jí)語言的翻譯高級(jí)語言的翻譯編譯方式:用相應(yīng)語言的編譯程序?qū)⒃淳幾g方式:用相應(yīng)語言的編譯程序?qū)⒃闯绦蚍g成目標(biāo)程序,再用連接程序?qū)⒛砍绦蚍g成目標(biāo)程序,再用連接程序?qū)⒛繕?biāo)程序與函數(shù)庫連接,最終生成可執(zhí)行程標(biāo)程序與函數(shù)庫連接,最終生成可執(zhí)行程序即可在計(jì)算機(jī)上運(yùn)行。序即可在計(jì)算
25、機(jī)上運(yùn)行。 高級(jí)語言源程序目標(biāo)程序可執(zhí)行程序運(yùn)行結(jié)果編譯程序編譯連接語言處理語言處理(翻譯翻譯)程序程序(2)高級(jí)語言的翻譯高級(jí)語言的翻譯解釋方式:通過相應(yīng)的解釋程序?qū)⒃闯绦蛑鹁浞g成機(jī)器解釋方式:通過相應(yīng)的解釋程序?qū)⒃闯绦蛑鹁浞g成機(jī)器指令,并且是每翻譯一句就執(zhí)行一句。解釋程序不產(chǎn)生目標(biāo)指令,并且是每翻譯一句就執(zhí)行一句。解釋程序不產(chǎn)生目標(biāo)程序,執(zhí)行過程中某句有錯(cuò)誤將立即顯示出錯(cuò)誤信息,以便程序,執(zhí)行過程中某句有錯(cuò)誤將立即顯示出錯(cuò)誤信息,以便用戶修改后繼續(xù)執(zhí)行。用戶修改后繼續(xù)執(zhí)行。 高級(jí)語言源程序運(yùn)行結(jié)果解釋程序解釋并執(zhí)行程序設(shè)計(jì)語言程序設(shè)計(jì)語言 :Fortran Fortran是英文是英文“
26、FORmula TRANslator”的縮寫,譯為的縮寫,譯為“公式翻譯公式翻譯器器”,它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí),它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)程序設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。算領(lǐng)域。FORTRAN語言以其特有的功能在數(shù)值、語言以其特有的功能在數(shù)值、科學(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用。科學(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用。程序設(shè)計(jì)語言程序設(shè)計(jì)語言 :Pascal與與Delphi Pascal是一個(gè)有影響的面向過程編程語言,由是一個(gè)有影響的面向過程編程語言,由尼古拉斯尼古拉斯沃斯在沃斯在1968年年9月設(shè)計(jì),在月設(shè)計(jì),在1970年年發(fā)行,作為一個(gè)小
27、型的和高效的語言,意圖鼓勵(lì)發(fā)行,作為一個(gè)小型的和高效的語言,意圖鼓勵(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è)集成開發(fā)環(huán)境(是一個(gè)集成開發(fā)環(huán)境(IDE),使用的),使用的核心是由傳統(tǒng)核心是由傳統(tǒng)Pascal語言發(fā)展而來的語言發(fā)展而來的Object Pascal,以圖形用戶界面(,以圖形用戶界面(Graphical User Interface,簡稱,簡稱GUI)為開發(fā)環(huán)境,通過)為開發(fā)環(huán)境,通過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用能,構(gòu)成一個(gè)以面向
28、對(duì)象程序設(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。程序開發(fā)工具。程序設(shè)計(jì)語言程序設(shè)計(jì)語言 :Basic, Visual Basic和和VB.net BASIC是是Beginners All-purpose symbolic instruction Code(初學(xué)者通用(初學(xué)者通用符號(hào)指令代碼)的縮寫,是國際上廣泛使用的一符號(hào)指令代碼)的縮寫,是國際上廣泛使用的一種計(jì)算機(jī)高級(jí)語言,它的特點(diǎn)是簡單、易學(xué)。種計(jì)算機(jī)高級(jí)語言,它的特點(diǎn)是簡單、易學(xué)。1991年,年,Visual Basic 1.0問世,它允許程問世,它允許程序員在一個(gè)所見即所得的圖形界面中迅速完成開序員在一個(gè)所見即所得的圖形界面中迅速完成開發(fā)任務(wù)。發(fā)任務(wù)。1998年發(fā)布的年發(fā)布的Visual Basic 6.0是是傳統(tǒng)傳統(tǒng)Visual Basic中功能最全、應(yīng)用最廣的一中功能最全、應(yīng)用最廣的一個(gè)版本。個(gè)版本。微軟后來開發(fā)了微軟后來開發(fā)了VB的繼任者的繼任者Visual Basic .NET,同時(shí)也是,同時(shí)也是.NET平臺(tái)的一部分。平臺(tái)的一部分。程序設(shè)計(jì)語言程序設(shè)計(jì)語言 : Java Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蚴且环N可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由設(shè)計(jì)語言,是由Sun Microsystems公司于公司于1995年年5月推出的月推出的Java程序設(shè)計(jì)語言和程序設(shè)計(jì)語言和Java平臺(tái)(即平臺(tái)(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人貸款合同范本工商銀行
- 親子監(jiān)護(hù)合同范本
- 中外合資企業(yè)采購與銷售合同
- 三人餐飲入股合同標(biāo)準(zhǔn)版
- 中小企業(yè)板塊上市企業(yè)與深圳證券交易所的證券上市合同
- 專業(yè)個(gè)人投資企業(yè)合同模板
- 臨時(shí)借調(diào)勞動(dòng)合同格式范文
- 二手房購銷合同樣式
- 臨時(shí)搭建腳手架租賃合同樣本
- XX公司破樁頭施工合同協(xié)議
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗(yàn)
- 2025年上海市嘉定區(qū)中考英語一模試卷
- 潤滑油、潤滑脂培訓(xùn)課件
- 2025年中核財(cái)務(wù)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級(jí)第二次考試數(shù)學(xué)試題(含解析)
- ADA糖尿病醫(yī)學(xué)診療標(biāo)準(zhǔn)指南修訂要點(diǎn)解讀(2025)課件
- 健康管理-理論知識(shí)復(fù)習(xí)測試卷含答案
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體 標(biāo)準(zhǔn)
- JGJ106-建筑基樁檢測技術(shù)規(guī)范
- 高技能公共實(shí)訓(xùn)基地建設(shè)方案
- 市第一人民醫(yī)院“十四五”發(fā)展規(guī)劃(2020-2025)
評(píng)論
0/150
提交評(píng)論