第7章 程序設(shè)計語言_第1頁
第7章 程序設(shè)計語言_第2頁
第7章 程序設(shè)計語言_第3頁
第7章 程序設(shè)計語言_第4頁
第7章 程序設(shè)計語言_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章程序設(shè)計語言大學(xué)計算機基礎(chǔ)教程程序設(shè)計語言是人類與計算機交流的語言,是由字、詞和語法規(guī)則構(gòu)成的指令系統(tǒng)。人類需要計算機完成的任務(wù)必須用某種程序設(shè)計語言書寫出來,然后再交給計算機去執(zhí)行。要想讓計算機更好地為人類服務(wù),人們必須了解、掌握程序設(shè)計語言。華南理工大學(xué)計算機教學(xué)團隊2目錄7.1程序設(shè)計語言的分類7.2程序設(shè)計過程7.3程序設(shè)計方法7.4程序設(shè)計語言基本要素3華南理工大學(xué)計算機教學(xué)團隊7.5

VisualBasic6.0集成開發(fā)環(huán)境7.6簡單的應(yīng)用程序設(shè)計7.1程序設(shè)計語言的分類

程序設(shè)計語言經(jīng)過多年的發(fā)展,從機器語言、匯編語言,發(fā)展到了高級語言。4華南理工大學(xué)計算機教學(xué)團隊7.1.1機器語言(1)機器語言是面向機器的指令系統(tǒng),所以計算機可以直接識別,不需要進行任何解釋或翻譯。機器語言是嚴(yán)格與機器相關(guān)的,每臺機器的指令格式和代碼所代表的含義都是硬性規(guī)定的,對不同型號的計算機來說,機器語言一般是不同的。由于使用的是針對特定型號的計算機語言,所以,機器語言的運算效率是所有語言中最高的。華南理工大學(xué)計算機教學(xué)團隊57.1.1機器語言(2)機器語言程序可讀性差。由于不同型號計算機的指令系統(tǒng)不同,針對一種型號計算機書寫的程序,不能直接拿到另一種不同型號的計算機上運行,程序可移植性差。華南理工大學(xué)計算機教學(xué)團隊67.1.2匯編語言(1)匯編語言也是一種面向機器的語言,為了幫助人們記憶,它采用了符號(稱為助記符)來代替機器語言的二進制碼,所以又稱為符號語言。用匯編語言書寫的程序,計算機不能直接識別,需要一種程序?qū)R編語言翻譯成機器語言才能在計算機上執(zhí)行,這種翻譯程序叫做匯編程序(Assembler)。華南理工大學(xué)計算機教學(xué)團隊77.1.2匯編語言(2)華南理工大學(xué)計算機教學(xué)團隊87.1.2匯編語言(3)匯編語言比機器語言易于讀寫、調(diào)試和修改,用匯編語言寫的程序同機器語言一樣,具有執(zhí)行效率高、占用的內(nèi)存少等特點,可有效地訪問、控制計算機的各種硬件設(shè)備。

但匯編語言仍依賴于具體的處理器體系結(jié)構(gòu),可移植性差。另外,要掌握好匯編語言也不容易,它要求程序員熟悉各種助記符與硬件的關(guān)系,所以,不被大多數(shù)非專業(yè)人士接受。華南理工大學(xué)計算機教學(xué)團隊97.1.3高級語言(1)高級語言是一種比符號語言更自然的語言,適應(yīng)于不同類型的機器。用高級語言寫的源程序也必須轉(zhuǎn)換成機器語言程序,計算機才能執(zhí)行。這個完成轉(zhuǎn)換工作的程序稱為編譯程序或編譯器(compiler),轉(zhuǎn)換的過程稱為編譯。最早出現(xiàn)的高級語言是FORTRAN語言,主要用于科學(xué)計算;隨后出現(xiàn)的COBOL語言,主要應(yīng)用于商業(yè)領(lǐng)域;接著又出現(xiàn)了很多高級語言,如:(Visual)Basic、Pascal、C/C++、Java等,以適應(yīng)各種不同的應(yīng)用領(lǐng)域。表7.3所示是一個用BASIC語言寫的程序,該程序的功能是實現(xiàn)兩個整數(shù)相加。華南理工大學(xué)計算機教學(xué)團隊107.1.3高級語言(2)表7.3所示是一個用BASIC語言寫的程序,該程序的功能是實現(xiàn)兩個整數(shù)相加。華南理工大學(xué)計算機教學(xué)團隊11

高級語言與具體的計算機相關(guān)度低,求解問題的方法描述直觀,可讀性好。7.2程序設(shè)計過程(1)人們用高級語言編寫的程序稱為“源程序”。必須將源程序翻譯成為機器語言表示的可執(zhí)行程序,才能在計算機上運行。翻譯的方式有兩種:一種稱為解釋方式,另一種稱為編譯方式。解釋方式是由解釋程序(或解釋器)對源程序逐語句一邊解釋,一邊執(zhí)行。這種方式速度慢,便于觀察調(diào)試程序。編譯方式是由編譯程序(或編譯器)把源程序全部翻譯成二進制代碼,然后再執(zhí)行。編譯后的程序稱為“目標(biāo)程序”。每一種高級語言都配有解釋器或編譯器。華南理工大學(xué)計算機教學(xué)團隊127.2程序設(shè)計過程(2)程序員的工作是編寫源程序,然后將其轉(zhuǎn)化為可執(zhí)行(機器語言)程序,交給計算機執(zhí)行。該過程主要由以下三步構(gòu)成。編輯程序編譯程序執(zhí)行程序華南理工大學(xué)計算機教學(xué)團隊137.3程序設(shè)計方法

程序設(shè)計的常用方法有結(jié)構(gòu)化程序設(shè)計(StructuredProgramming)方法和面向?qū)ο蟮某绦蛟O(shè)計(Object-orientedProgramming)方法。華南理工大學(xué)計算機教學(xué)團隊147.3.1結(jié)構(gòu)化程序設(shè)計方法(1)結(jié)構(gòu)化程序設(shè)計方法是20世紀(jì)70年代由著名的計算機科學(xué)家E.W.Dijkstra提出的。它是指按照層次化、模塊化的方法來設(shè)計程序,從而提高程序的可讀性和可維護性。主要思想如下:(1)程序模塊化。是指把一個復(fù)雜的程序分解成若干個部分,每個部分稱為一個模塊。(2)語句結(jié)構(gòu)化。是指每個模塊都用順序結(jié)構(gòu)、選擇結(jié)構(gòu)或循環(huán)結(jié)構(gòu)來實現(xiàn)流程控制。華南理工大學(xué)計算機教學(xué)團隊157.3.1結(jié)構(gòu)化程序設(shè)計方法(2)華南理工大學(xué)計算機教學(xué)團隊167.3.1結(jié)構(gòu)化程序設(shè)計方法(3)華南理工大學(xué)計算機教學(xué)團隊177.3.1結(jié)構(gòu)化程序設(shè)計方法(4)(3)自頂向下、逐步求精的設(shè)計過程?!白皂斚蛳隆笔侵笇?fù)雜、大的問題劃分為小問題,找出問題的關(guān)鍵、重點所在,然后用精確的思維定性、定量地去描述問題?!爸鸩角缶笔菍F(xiàn)實世界的問題經(jīng)抽象轉(zhuǎn)化為邏輯空間或求解空間的問題,復(fù)雜問題經(jīng)抽象化處理變?yōu)橄鄬Ρ容^簡單的問題,經(jīng)若干步抽象(精化)處理,直到求解域中只是比較簡單的編程問題,用三種基本程序結(jié)構(gòu)即可實現(xiàn)。(4)限制使用轉(zhuǎn)向語句goto。因為濫用goto語句將使程序流程無規(guī)律,程序可讀性差。華南理工大學(xué)計算機教學(xué)團隊187.3.1結(jié)構(gòu)化程序設(shè)計方法(5)結(jié)構(gòu)化程序設(shè)計方法的優(yōu)點有:程序易于理解、使用和維護。提高了編程工作的效率,降低了程序的開發(fā)成本。支持結(jié)構(gòu)化程序設(shè)計的程序設(shè)計語言有:pascal語言,c語言等。華南理工大學(xué)計算機教學(xué)團隊197.3.2面向?qū)ο蟮某绦蛟O(shè)計方法面向?qū)ο蟪绦蛟O(shè)計方法把程序設(shè)計的主要活動集中在建立對象和對象之間的聯(lián)系上,從而完成所需要的計算。面向?qū)ο蟪绦蛟O(shè)計中有幾個基本概念:對象、消息、類、封裝、繼承和多態(tài)性。華南理工大學(xué)計算機教學(xué)團隊207.4程序設(shè)計語言基本要素

程序設(shè)計語言也像自然語言一樣,由字、詞和語法規(guī)則構(gòu)成。不同的程序設(shè)計語言,其字、詞和語法規(guī)則也不一樣。本節(jié)以VisualBasic(簡稱VB)語言為例,簡要敘述程序設(shè)計語言的基本要素。華南理工大學(xué)計算機教學(xué)團隊217.4.1數(shù)據(jù)類型數(shù)據(jù)是信息在計算機內(nèi)的表現(xiàn)形式,也是程序的處理對象。由于不同類型的數(shù)據(jù)占用內(nèi)存單元的大小不同,所以在用高級語言寫程序時,要說明數(shù)據(jù)的類型。表7.4VB數(shù)據(jù)類型表華南理工大學(xué)計算機教學(xué)團隊227.4.2變量和常量(1)1.常量所謂常量是指在程序運行期間其值始終保持不變的量。在VB語言中,常量分為兩種,分別稱為:普通常量和符號常量。普通常量的類型和值由它本身的書寫形式?jīng)Q定。例如:123表示一個十進制整數(shù),“hello”表示一個字符串常量。在程序設(shè)計中,經(jīng)常要用到一些多次出現(xiàn)或難于記憶的常量值。對于這種類型的常量值,可以用標(biāo)識符來代替,該標(biāo)識符稱為符號常量。華南理工大學(xué)計算機教學(xué)團隊237.4.2變量和常量(2)符號常量必須先定義,后使用。其語法格式為:Const標(biāo)識符=<普通常量>例如:ConstAGE=18定義了符號常量AGE,代表普通常量18

ConstG=“good”

定義了符號常量G,代表普通字符串常量”good”華南理工大學(xué)計算機教學(xué)團隊247.4.2變量和常量(3)2.變量變量是指在程序的整個運行過程中可根據(jù)程序的需要而變化的量。每個變量都有一個名字,稱為變量名或變量的標(biāo)識符。變量所代表的數(shù)值按變量的不同類型,占用不同字節(jié)數(shù)的內(nèi)存空間來保存。任何變量都屬于一定的數(shù)據(jù)類型。在VB中,可以顯示或隱式地說明變量和它的類型。華南理工大學(xué)計算機教學(xué)團隊257.4.2變量和常量(4)顯示說明是指用說明語句定義變量。一般形式如下:Dim<變量名>As數(shù)據(jù)類型

例如:

DimmarkAsInteger定義了整型變量mark。DimweightAsDouble定義了雙精度浮點型變量weight。

隱式說明是指在使用一個變量之前不進行事先聲明,使用時系統(tǒng)以該名字自動創(chuàng)建一個變量,并且默認(rèn)為可變類型。華南理工大學(xué)計算機教學(xué)團隊267.4.3運算符與表達(dá)式(1)運算是對數(shù)據(jù)進行加工。對基本數(shù)據(jù)類型的運算常用一些簡潔的符號來表示,這些符號稱為運算符或操作符。被運算的對象稱為操作數(shù)。通過特定的運算表達(dá)一個值的式子稱為表達(dá)式。表達(dá)式是程序設(shè)計語言中的基本語法單位,它由常量、變量、函數(shù)、運算符和括號組成。華南理工大學(xué)計算機教學(xué)團隊277.4.3運算符與表達(dá)式(2)不同類型的數(shù)據(jù)可以參與的運算不同。即不同類型數(shù)據(jù)的操作使用的運算符也不一樣。VB主要有4類運算符。算術(shù)運算符、字符串運算符、關(guān)系運算符和邏輯運算符。由這4類運算符組成的表達(dá)式分別稱為算術(shù)表達(dá)式、字符串表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式。華南理工大學(xué)計算機教學(xué)團隊287.4.3運算符與表達(dá)式(3)1.算術(shù)運算符與算術(shù)表達(dá)式

算術(shù)運算符用來對數(shù)值型數(shù)據(jù)進行計算。VB提供了7個算術(shù)運算符。華南理工大學(xué)計算機教學(xué)團隊29運算符的優(yōu)先級按以下順序由高到低排列:(1)冪運算^(2)負(fù)運算-(3)乘除運算*/(4)整除運算\(5)取余運算Mod(6)加減運算+-7.4.3運算符與表達(dá)式(4)2.字符串運算符字符串只有一種運算,即“連接”,連接運算符為“+”或“&”,執(zhí)行的運算是將兩個字符串連接起來生成一個新的字符串。用連接運算符連接起來的表達(dá)式稱為字符串表達(dá)式。例如:

”very”+“good”的值是“verygood”“very”&“good”的值也是”verygood”華南理工大學(xué)計算機教學(xué)團隊307.4.3運算符與表達(dá)式(5)3.關(guān)系運算符與邏輯運算符關(guān)系運算和邏輯運算的結(jié)果都是邏輯值。關(guān)系運算符又稱比較運算符,用來比較兩個操作數(shù)的大小。由關(guān)系運算符連接起來的表達(dá)式稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的運算結(jié)果是一個邏輯值。VB提供的關(guān)系運算符如表7.6所示。華南理工大學(xué)計算機教學(xué)團隊317.4.3運算符與表達(dá)式(6)邏輯運算符的左右操作數(shù)要求為邏輯值。用邏輯運算符連接起來的式子稱為邏輯表達(dá)式。VB的邏輯運算符如表7.7所示。華南理工大學(xué)計算機教學(xué)團隊32邏輯運算符的優(yōu)先級按以下順序由高到低排列:Not,And,Or,Xor,Eqv,Imp7.4.4程序控制結(jié)構(gòu)(1)在高級語言中,程序控制結(jié)構(gòu)是由流程控制語句實現(xiàn)的。不同的高級語言,流程控制語句的格式也可能不一樣。VB語言的部分流程控制語句如下:1.分支語句:分支語句實現(xiàn)選擇結(jié)構(gòu)。格式為:If<條件>Then<語句1>Else<語句2>功能說明:其中<條件>是關(guān)系表達(dá)式或邏輯表達(dá)式,當(dāng)<條件>為True時,執(zhí)行<語句1>,否則,執(zhí)行<語句2>。其中,Else部分可省。如:Ifmark>85Thenprint“Excellent!”‘如果mark>85,則輸出Excellent.

華南理工大學(xué)計算機教學(xué)團隊337.4.4程序控制結(jié)構(gòu)(2)2.

循環(huán)語句:循環(huán)語句實現(xiàn)循環(huán)結(jié)構(gòu)。格式:While<條件><語句>Wend功能說明:其中<條件>為關(guān)系表達(dá)式或邏輯表達(dá)式,如果<條件>為True,則執(zhí)行<語句>,遇到Wend時,返回到While語句,繼續(xù)對<條件>進行測試;如果仍為True,則重復(fù)上述過程。直到<條件>為False,則不再執(zhí)行<語句>,而執(zhí)行Wend后面的語句。該循環(huán)語句實現(xiàn)的是當(dāng)型循環(huán)結(jié)構(gòu)。另外,在VB語言里還有Do…Loop語句和For…Next語句也可以實現(xiàn)循環(huán)結(jié)構(gòu)。華南理工大學(xué)計算機教學(xué)團隊347.4.5過程與函數(shù)(1)過程,又稱為子程序,是以一個名字標(biāo)識,完成特定功能的一組代碼。過程在有些高級語言里稱為函數(shù)。過程有如下兩個重要作用。任務(wù)劃分。把一個復(fù)雜的任務(wù)劃分為小任務(wù),并用過程來表達(dá),使任務(wù)更易于理解,易于實現(xiàn)。代碼重用。各種復(fù)雜的任務(wù)常常包含一些完全相同或非常相近的小任務(wù)。把這些小任務(wù)編成獨立的過程,由各大任務(wù)調(diào)用,避免重復(fù)編程。華南理工大學(xué)計算機教學(xué)團隊357.4.5過程與函數(shù)(2)不同高級語言里過程實現(xiàn)的語法不同。在VB語言里,過程分為兩大類。一類是由系統(tǒng)提供,主要包括內(nèi)部函數(shù)和事件過程。對于內(nèi)部函數(shù),用戶可以直接調(diào)用;對于事件過程,VB提供它們的框架和接口,用戶可以根據(jù)需要填寫它的內(nèi)容,事件過程構(gòu)成了VB應(yīng)用程序的主體。另一類是用戶根據(jù)應(yīng)用需求,自定義的過程。在VB中,有4種自定義過程:以關(guān)鍵字Sub開頭的子過程;以關(guān)鍵字Function開頭的函數(shù)過程;以關(guān)鍵字Property開頭的屬性過程;以關(guān)鍵字Event開頭的事件過程。華南理工大學(xué)計算機教學(xué)團隊367.4.6程序注釋程序中的注釋語句只是為提高程序的可讀性而添加的,計算機在執(zhí)行程序時自動略去注釋信息。不同的高級語言表示注釋語句的方法是不同的。VB語言的注釋語句的表示形式如下:‘<注釋內(nèi)容>或Rem<注釋內(nèi)容>例如:Text1.Text=”Hello”‘這是一條簡單的語句華南理工大學(xué)計算機教學(xué)團隊377.

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論