![了解算法與程序設(shè)計(jì)語言ppt課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/82e58efb-e186-4931-a151-6b74edf77367/82e58efb-e186-4931-a151-6b74edf773671.gif)
![了解算法與程序設(shè)計(jì)語言ppt課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/82e58efb-e186-4931-a151-6b74edf77367/82e58efb-e186-4931-a151-6b74edf773672.gif)
![了解算法與程序設(shè)計(jì)語言ppt課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/82e58efb-e186-4931-a151-6b74edf77367/82e58efb-e186-4931-a151-6b74edf773673.gif)
![了解算法與程序設(shè)計(jì)語言ppt課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/82e58efb-e186-4931-a151-6b74edf77367/82e58efb-e186-4931-a151-6b74edf773674.gif)
![了解算法與程序設(shè)計(jì)語言ppt課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/10/82e58efb-e186-4931-a151-6b74edf77367/82e58efb-e186-4931-a151-6b74edf773675.gif)
版權(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ī)精確而有效地去求解該問題。精確而有效地去求解該問題。 算法是解決問題的方法與步驟算法是解決問題的方法與步驟例:有三個(gè)硬幣
3、,其中一例:有三個(gè)硬幣,其中一個(gè)是偽造的,另兩個(gè)是真?zhèn)€是偽造的,另兩個(gè)是真的,偽幣與真幣重量略有的,偽幣與真幣重量略有不同?,F(xiàn)在提供一座天平,不同?,F(xiàn)在提供一座天平,如何找出偽幣呢?如何找出偽幣呢?分析:分析:方法明確而有序方法明確而有序按提供的條件進(jìn)行操作按提供的條件進(jìn)行操作任何人均可仿照進(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í)行的操作都是可執(zhí)能行性。算法中有
5、待執(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ì)語言。使用某一種程序設(shè)計(jì)語言程序設(shè)計(jì)語言。使用某一種程序設(shè)計(jì)語
6、言所提供的語言成分,根據(jù)語言的特點(diǎn),并利用語所提供的語言成分,根據(jù)語言的特點(diǎn),并利用語言提供的各種工具和手段,遵照規(guī)定的語法規(guī)則,言提供的各種工具和手段,遵照規(guī)定的語法規(guī)則,去實(shí)現(xiàn)算法這就是所謂的程序編碼。去實(shí)現(xiàn)算法這就是所謂的程序編碼。 文字文字(自然語言自然語言)描繪描繪“比較與的重量,若,則是比較與的重量,若,則是偽造的;否則再比較與的重量,若偽造的;否則再比較與的重量,若,則是偽造的;否則是偽造的。,則是偽造的;否則是偽造的?!比秉c(diǎn):缺點(diǎn):容易產(chǎn)生歧義,很難容易產(chǎn)生歧義,很難 “準(zhǔn)確地進(jìn)行表準(zhǔn)確地進(jìn)行表達(dá)達(dá)敘述冗長,很難清楚地表達(dá)算法的邏輯流敘述冗長,很難清楚地表達(dá)算法的邏輯流程程算法
7、的流程圖表示算法的流程圖表示流程圖由結(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 ?完畢完畢開場開場用流程圖表示用流程圖表示選擇排序算法選擇排序算
8、法流程圖使用的圖形符號(hào)流程圖使用的圖形符號(hào) 圖形符號(hào)圖形符號(hào)名稱名稱代表的操作代表的操作輸入輸入/ /輸出輸出數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出處理處理各種形式的數(shù)據(jù)處理各種形式的數(shù)據(jù)處理判斷判斷判斷選擇,根據(jù)條件滿足與否選擇判斷選擇,根據(jù)條件滿足與否選擇不同的路徑不同的路徑起止起止流程的起點(diǎn)與終點(diǎn)流程的起點(diǎn)與終點(diǎ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)是用來描述算法的一種語是用來描述算法的一種語言,它既類似于自然語言,又使用與程序設(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è)元素:的一
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ù)傳輸四類。自述運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(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è)算
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)分為兩類。(循環(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í)行的操作,
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)滿足具體問題的需求,這是算法設(shè)正確性。算法應(yīng)滿足具體問題的需求,這是算法設(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è)問題如果有多個(gè)可供選擇的算法,應(yīng)盡可能選擇執(zhí)行一個(gè)問題如果有多個(gè)可供選擇的算法,應(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)盡可能選擇
15、存儲(chǔ)量需求低的算法。 什么是程序設(shè)計(jì)語言?什么是程序設(shè)計(jì)語言?什么是程序?什么是程序?程序是為了用計(jì)算機(jī)解決某個(gè)問題而采用程序設(shè)計(jì)語程序是為了用計(jì)算機(jī)解決某個(gè)問題而采用程序設(shè)計(jì)語言編寫的一個(gè)指令序列言編寫的一個(gè)指令序列什么是程序設(shè)計(jì)語言?什么是程序設(shè)計(jì)語言?語言的目的是用于通信語言的目的是用于通信程序設(shè)計(jì)語言用于人與計(jì)算機(jī)之間的通信程序設(shè)計(jì)語言用于人與計(jì)算機(jī)之間的通信程序設(shè)計(jì)語言是由人使用但計(jì)算機(jī)可以理解的一種語程序設(shè)計(jì)語言是由人使用但計(jì)算機(jī)可以理解的一種語言言程序設(shè)計(jì)語言用于編制程序,表達(dá)需要計(jì)算機(jī)完成什程序設(shè)計(jì)語言用于編制程序,表達(dá)需要計(jì)算機(jī)完成什么任務(wù)和怎樣完成任務(wù),然后交給計(jì)算機(jī)去完成
16、么任務(wù)和怎樣完成任務(wù),然后交給計(jì)算機(jī)去完成 程序設(shè)計(jì)語言填補(bǔ)了程序設(shè)計(jì)語言填補(bǔ)了 人與計(jì)算機(jī)交流的鴻溝人與計(jì)算機(jī)交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問 題 需 要有 問 題 需 要計(jì) 算 機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人交流的鴻溝交流的鴻溝計(jì)算機(jī)硬件僅僅計(jì)算機(jī)硬件僅僅知道知道0和和1有 問 題 需 要有 問 題 需 要計(jì) 算 機(jī) 解 決計(jì) 算 機(jī) 解 決的人的人程序設(shè)計(jì)語言程序設(shè)計(jì)語言計(jì)算機(jī)中使用多種計(jì)算機(jī)中使用多種“語言語言”程序設(shè)計(jì)語言:主要用于描述算法程序設(shè)計(jì)語言:主要用于描述算法機(jī)器語言、匯編語言、高級(jí)語言機(jī)器語言、匯編語言、高級(jí)語言數(shù)據(jù)描述語言:主要用于描述
17、數(shù)據(jù)文檔、音樂、圖形、圖像、視頻等數(shù)據(jù)描述語言:主要用于描述數(shù)據(jù)文檔、音樂、圖形、圖像、視頻等的規(guī)范、結(jié)構(gòu)和文件格式的規(guī)范、結(jié)構(gòu)和文件格式HTML、XML、MIDI、MP3、OpenGL、JPEG、MPEG、腳本語言:用于編寫嵌入在文檔中的程序的程序設(shè)計(jì)語言腳本語言:用于編寫嵌入在文檔中的程序的程序設(shè)計(jì)語言VBA、VBScript、JavaScript 計(jì)算機(jī)通信語言通信協(xié)議):用于描述計(jì)算機(jī)計(jì)算機(jī)通信語言通信協(xié)議):用于描述計(jì)算機(jī)-計(jì)算機(jī)之間的會(huì)話計(jì)算機(jī)之間的會(huì)話懇求懇求-應(yīng)答的語法和語義應(yīng)答的語法和語義、POP3、SMTP、 FTP、 Telnet、TCP、IP、數(shù)據(jù)庫語言:用于數(shù)據(jù)操作,
18、如數(shù)據(jù)庫語言:用于數(shù)據(jù)操作,如SQL語言語言程序設(shè)計(jì)語言的發(fā)展程序設(shè)計(jì)語言的發(fā)展 要使計(jì)算機(jī)能夠按人的意圖工作,就必須要使計(jì)算機(jī)能夠按人的意圖工作,就必須使計(jì)算機(jī)懂得人的意圖,接受人向它發(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ī)器語言、匯編
19、語言、高級(jí)現(xiàn)的順序是:機(jī)器語言、匯編語言、高級(jí)語言。語言。 機(jī)器語言機(jī)器語言 機(jī)器語言是計(jì)算機(jī)惟一能夠直接識(shí)別和執(zhí)行的一機(jī)器語言是計(jì)算機(jī)惟一能夠直接識(shí)別和執(zhí)行的一種計(jì)算機(jī)語言,它是以二進(jìn)制代碼的形式表示的種計(jì)算機(jī)語言,它是以二進(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):直觀性差,難記、難寫,非常容易出錯(cuò);缺點(diǎn):直觀性差,難記、難寫,非常容易出錯(cuò);面向具體的機(jī)器,通用性差;需要人工分配內(nèi)存,面向具體的機(jī)器,通用性差;需要人工分配內(nèi)存,編程工作量大。編程工作量大。由于機(jī)器語言的缺點(diǎn)難以克服,給
20、計(jì)算機(jī)的推廣由于機(jī)器語言的缺點(diǎn)難以克服,給計(jì)算機(jī)的推廣使用造成了很大的障礙。為此,人們?cè)O(shè)計(jì)出了便使用造成了很大的障礙。為此,人們?cè)O(shè)計(jì)出了便于記憶的助記符式語言,即匯編語言。于記憶的助記符式語言,即匯編語言。B8 7F 01BB 21 0203 D8B8 1F 042B C3(計(jì)算(計(jì)算1055-(383+545)的的5條機(jī)器指令)條機(jī)器指令) 機(jī)器語言機(jī)器語言 用機(jī)器語言編程序用機(jī)器語言編程序, 也就是直接使用二進(jìn)制代碼編寫也就是直接使用二進(jìn)制代碼編寫程序程序操作碼操作碼操作數(shù)操作數(shù)(或操作數(shù)的地址或操作數(shù)的地址)1條機(jī)器指令條機(jī)器指令操作數(shù)地操作數(shù)地址址操作碼操作碼匯編語言匯編語言 匯編語言
21、是用一些便于人們記憶的符號(hào)來匯編語言是用一些便于人們記憶的符號(hào)來代替二進(jìn)制數(shù)碼,這些符號(hào)都是一些可以代替二進(jìn)制數(shù)碼,這些符號(hào)都是一些可以指明操作含義的英文單詞指明操作含義的英文單詞(或其縮寫或其縮寫),因,因此也叫助記符式語言。這種語言具有如下此也叫助記符式語言。這種語言具有如下優(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ī)器,通用性差。用性差。 匯編語言匯編語言用助記符號(hào)來表示機(jī)器指令用助記符號(hào)來表示機(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ī)器語言程序機(jī)器語言程序?qū)?yīng)的匯編語言程序?qū)?yīng)的匯編語言程序MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX匯編語言程序匯編語言程序高級(jí)語言高級(jí)語言 高級(jí)語言,克服了低級(jí)語言
23、的所有缺點(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í)語言還有一定的缺點(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è)
24、計(jì)語言MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX匯編語言程序匯編語言程序S=1055-(383+545)語言處理語言處理(翻譯翻譯)程序程序 (1)匯編語言的翻譯匯編語言的翻譯用匯編語言編寫的程序通常稱為匯編語言用匯編語言編寫的程序通常稱為匯編語言源程序。這樣的程序計(jì)算機(jī)是不能直接識(shí)源程序。這樣的程序計(jì)算機(jī)是不能直接識(shí)別和執(zhí)行的,必須用相應(yīng)的翻譯程序別和執(zhí)行的,必須用相應(yīng)的翻譯程序(稱稱為匯編程序?yàn)閰R編程序)將匯編語言源程序翻譯成機(jī)將匯編語言源程序翻譯成機(jī)器能夠執(zhí)行的機(jī)器語言程序器能夠執(zhí)行的機(jī)器語言程序(稱為目標(biāo)程稱為目標(biāo)程序序),這個(gè)翻
25、譯過程叫做匯編。,這個(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ì)算機(jī)上運(yùn)行。 高級(jí)語言源程序目標(biāo)程序可執(zhí)行程序運(yùn)行結(jié)果編譯程序編譯連接語言處理語言處理(翻譯翻譯)程序程序(2)高級(jí)語言的翻譯高級(jí)語言的翻譯解釋方式:通過相應(yīng)的解釋程序?qū)⒃闯探忉尫绞剑和ㄟ^相
26、應(yīng)的解釋程序?qū)⒃闯绦蛑鹁浞g成機(jī)器指令,并且是每翻譯一序逐句翻譯成機(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是英文是英文“FORmula TRANslator的縮寫,譯為的縮寫,譯為“公式翻譯公式翻譯器器”,它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí),它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)程序
27、設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。算領(lǐng)域。FORTRAN語言以其特有的功能在數(shù)值、語言以其特有的功能在數(shù)值、科學(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用??茖W(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用。程序設(shè)計(jì)語言程序設(shè)計(jì)語言 :Pascal與與Delphi Pascal是一個(gè)有影響的面向過程編程語言,由是一個(gè)有影響的面向過程編程語言,由尼古拉斯尼古拉斯沃斯在沃斯在1968年年9月設(shè)計(jì),在月設(shè)計(jì),在1970年年發(fā)行,作為一個(gè)小型的和高效的語言,意圖鼓勵(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)境是一
28、個(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è)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。程序開發(fā)工具。程序設(shè)計(jì)語言程序設(shè)計(jì)語言 :Basic, Visual Basic和和VB BASIC是是Beginners All-purpose symbolic
29、 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ù)。2019年發(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公司于公司于2019年年5月推出的月推出的Java程序設(shè)計(jì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高、低能校正磁鐵合作協(xié)議書
- 部編初中數(shù)學(xué)八年級(jí)下學(xué)期開學(xué)考試卷
- 2025年交配電設(shè)備設(shè)施委托管理協(xié)議(2篇)
- 2025年產(chǎn)權(quán)房屋買賣合同經(jīng)典版(三篇)
- 2025年產(chǎn)品商標(biāo)設(shè)計(jì)委托合同模板(三篇)
- 2025年產(chǎn)品采購協(xié)作服務(wù)協(xié)議(2篇)
- 2025年亮化工程施工承包合同經(jīng)典版(三篇)
- 2025年中班幼兒園教師個(gè)人工作心得體會(huì)模版(4篇)
- 2025年產(chǎn)品試用協(xié)議范例(2篇)
- 2025年個(gè)人房屋裝修委托書合同(2篇)
- 2024年四川省成都市新都區(qū)中考英語一診試卷(含解析)
- 醫(yī)療器械物價(jià)收費(fèi)申請(qǐng)流程
- 招聘專員轉(zhuǎn)正述職報(bào)告
- “一帶一路”背景下的西安市文化旅游外宣翻譯研究-基于生態(tài)翻譯學(xué)理論
- 2024年江蘇省昆山市六校中考聯(lián)考(一模)化學(xué)試題
- 大學(xué)生文學(xué)常識(shí)知識(shí)競賽考試題庫500題(含答案)
- 國家電網(wǎng)智能化規(guī)劃總報(bào)告
- 邢臺(tái)市橋西區(qū)2024年事業(yè)單位考試《公共基礎(chǔ)知識(shí)》全真模擬試題含解析
- 太原頭腦外賣營銷方案
- 2023年寧夏中考物理試題(附答案)
- JBT 7041.1-2023 液壓泵 第1部分:葉片泵 (正式版)
評(píng)論
0/150
提交評(píng)論