組合語言-行動學(xué)習(xí)平臺_第1頁
組合語言-行動學(xué)習(xí)平臺_第2頁
組合語言-行動學(xué)習(xí)平臺_第3頁
組合語言-行動學(xué)習(xí)平臺_第4頁
組合語言-行動學(xué)習(xí)平臺_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章

認(rèn)識程式語言課程名稱:程式設(shè)計授課老師:________2024/8/161本章學(xué)習(xí)目標(biāo)

2024/8/1621.讓讀者瞭解軟體與程式語言的關(guān)係。2.認(rèn)識視覺化「Visual」程式語言的優(yōu)點(diǎn)及特性。本章內(nèi)容

2024/8/1631-1.認(rèn)識程式語言1-2.NETFramework簡介1-3.VB6.0與VB20101-4物件導(dǎo)向設(shè)計1-5主控臺應(yīng)用程式1-6VisualBASIC2010語言操作環(huán)境1-7程式碼片斷管理員1-8習(xí)題1-1.認(rèn)識程式語言2024/8/164人與人之間的溝通必須要使用共通的語言(例如:國語、閩南語、英語…等),而人想要與電腦溝通,則一樣必須要用電腦看得懂的語言,即所謂的電腦程式語言(例如:Assemble、Basic、C、C++、JAVA、Pascal、Delphi、VisualBasic、ASP語言及ASP.NET2.0、VB2010、C#2010等新一代的程式語言)。而這些程式語言都只是「軟體」的一個子集合。1-1.1何謂軟體2024/8/165軟體(software)就是程式,它是由一連串的指令所組成,其主要功能就是達(dá)成某一特定的目的。在電腦系統(tǒng)中軟體是用來控制硬體,如果只有硬體而沒有軟體,則電腦被視為一堆廢鐵。因此,軟體與硬體缺一不可。就像人一樣,身軀(硬體)與精神(軟體)也是缺一不可的。如圖1-1所示:

圖1-1人與電腦的關(guān)係2024/8/166一般而言,軟體可分為兩大類分別為:「系統(tǒng)軟體」和「應(yīng)用軟體」。如圖1-2所示。圖1-2軟體分類架構(gòu)圖1-1.2程式語言的分類2024/8/167一般而言,程式語言可分為兩大類:一為低階語言,另一為高階語言。而低階語言又可分為機(jī)械語言與組合語言。高階語言則可分為程序?qū)蛘Z言與非程序?qū)蛘Z言及自然語言。如圖1-3所示:圖1-3程式語言分類架構(gòu)圖2024/8/168由於電腦只看懂機(jī)械語言,因此,我們利用高階語言在撰寫程式之後,電腦並無法直接的執(zhí)行,必須要透過翻譯程式來翻譯為電腦可以接受的語言。一般而言,從撰寫原始程式到執(zhí)行時,必須要經(jīng)過一連串的步驟,例如編譯、連結(jié)、產(chǎn)生執(zhí)行檔及執(zhí)行結(jié)果。如圖1-4所示。2024/8/169圖1-4程式的執(zhí)行流程圖執(zhí)行步驟:原始程式

編譯

目的程式

連結(jié)

產(chǎn)生執(zhí)行檔

載入到記憶體

執(zhí)行結(jié)果

1-1.3程式語言的演進(jìn)2024/8/1610一、第一代語言---機(jī)器語言(Machinelanguages)

這是一種比較接近電腦的語言,亦即電腦可以直接執(zhí)行的機(jī)器碼,由於電腦內(nèi)部是使用0與1兩種狀態(tài)來表示資料及邏輯閘開關(guān)的控制,因此,我們將電腦內(nèi)部由0與1所組成的資料稱之為「機(jī)器語言(machinelanguages)」。

一、第一代語言---機(jī)器語言(Machinelanguages)<續(xù)>2024/8/1611

因為它是一種以0與1所構(gòu)成二進(jìn)位形式的碼,故並不適合人類閱讀與學(xué)習(xí),也不適合用來進(jìn)行程式設(shè)計。如圖1-5所示:2024/8/1612

優(yōu)點(diǎn):它是以邏輯狀態(tài)0和1直接命令電腦,不需翻譯就可以直接執(zhí)行,所以速度最快。

缺點(diǎn):(1)不同的處理機(jī)(CPU),使用不同的機(jī)器語言,所以可攜性較差。

(2)只有兩種狀態(tài)0與1。因此,不僅難學(xué)、難懂、也不容易維護(hù)。一、第一代語言---機(jī)器語言(Machinelanguages)<續(xù)>二、第二代語言---組合語言(Assemblylanguages)2024/8/1613這是一種介於「高階語言」與「機(jī)器語言之間的語言,由於機(jī)器語言在使用上不方便,因此,工程師們便從機(jī)器語言中找出規(guī)則,以英文字、數(shù)字符號來重組機(jī)器語言,使它們變成較容易記憶的語言,這種語言便稱為「組合語言(Assemblylanguages)」。它是利用特定功能的符號指令稱為助譯碼(Mnemonicscode),例如:ADD代表「相加」、LDA代表「載入」、MOV代表「搬移」;這些指令比起機(jī)器語言來說會較有意義、容易學(xué)習(xí),而負(fù)責(zé)翻譯的程式則稱之為組合程式(Assembler)或組譯器。二、第二代語言---組合語言(Assemblylanguages)<續(xù)>2024/8/1614由於每一種計算機(jī)(電腦)皆有其獨(dú)特的機(jī)器語言,因此每一種機(jī)器的組合語言各有不同。所以,可攜性(Portability)較差。並且較難撰寫及維護(hù),因此,一般使用者較少使用組合語言設(shè)計程式。如圖1-6所示:

組合語言機(jī)器語言ADDMOVLDA110110010001110000000011111101101010圖1-6人和電腦溝通示意圖(二)三、第三代語言---程序?qū)蛘Z言(Procedure-OrientedLanguage)2024/8/1615這是一種類似自然語言,它較具有結(jié)構(gòu)性,可以方便讓使用者撰寫程式。但是,在撰寫完成之後必須要再經(jīng)過編譯器(Compiler)或直譯器(Interpreter)轉(zhuǎn)換成「機(jī)器語言」之才交給電腦執(zhí)行。常見的編譯器有C、直譯器有BASIC均屬此類。如圖1-7所示:高階語言(VB)機(jī)器語言IFScore>=60ThenMsgBox(“及格”)ElseMsgBox(“不及格”)EndIf110110010001110000000011111101101010101010101011101010111111圖1-7人和電腦溝通示意圖(三)四、第四代語言---非程序?qū)蛘Z言(NonProcedure-OrientedLanguage)2024/8/1616由於程序?qū)蛘Z言在開發(fā)專案時成本較高、維護(hù)不易及重覆使用性低的缺點(diǎn)。因此,後來又發(fā)展出「非程序?qū)蛘Z言」,其設(shè)計上的優(yōu)點(diǎn)就是,只要告訴電腦”要做什麼(Whattodo)”,而不必告訴它”如何做(Howtodo)”。並且部份的程式碼會自動產(chǎn)生(例如:ASP.NET2.0),因此,可以大大的縮減專案開發(fā)的時間,並且程式在維護(hù)上也更有效率。四、第四代語言---非程序?qū)蛘Z言<續(xù)>2024/8/1617常見的非程序?qū)蛘Z言有下面兩種:

(1)結(jié)構(gòu)化查詢語言(SQL)(2)物件導(dǎo)向語言(Object-OrientedProgramming,OOP)(1)結(jié)構(gòu)化查詢語言(SQL)2024/8/1618比程序?qū)蛘Z言更容易使用的語言,使用者只需將步驟寫出來,而不必管電腦要如何去執(zhí)行,這樣的電腦語言稱為查詢語言(QueryLanguage);這種語言減輕了使用者程式設(shè)計的負(fù)擔(dān),常見的是資料庫查詢語言如:SQL。如圖1-8所示:

撰寫查詢語言Select使用者所要看的欄位From資料表名稱Where過濾條件

執(zhí)行結(jié)果圖1-8查詢語言示意圖(2)物件導(dǎo)向語言(Object-OrientedProgramming,OOP)2024/8/1619所謂物件導(dǎo)向程式語言(Object-OrientedProgramming簡稱OOP),是把程式設(shè)計的概念具體化、物件化,並以該物件的角度去分析和解決問題,它不但突破了以往程序?qū)蛘Z言只能循序單向的設(shè)計缺失,更因物件的簡便、維護(hù)容易及可重覆使用…等特性,而使得程式開發(fā)的速度加快,因此成為最新一代程式語言的主流。常見的物件導(dǎo)向式語言有VisualBASIC2010、VisualC++、VB.NET、ASP.NET、C#...等等。如圖1-9所示:每一個按鈕都是獨(dú)立的物件,當(dāng)某一物件的程式有Bug時,也不會影響其他的物件

五、第五代語言---自然語言(Naturallanguages)2024/8/1620就是我們?nèi)粘K玫恼Z言,如英文(english)、中文(chinese)等,這是最接近人類所使用的語言。由於此種語言文法和語意上較為複雜,因此在電腦處理上較不容易,所以並不合適給予電腦處理,目前只用在人工智慧研究之一。如圖1-10所示:圖1-10自然語言示意圖1-1.4高階語言的種類2024/8/1621既然低階語言在學(xué)習(xí)上較為困難,因此,一般的學(xué)習(xí)者都是利用高階語言來開發(fā)系統(tǒng),而目前較常用的高階語言有下列數(shù)種。依發(fā)展的年代說明如下:1.FORTRAN(FORmulaTRANslator)語言2.COBOL語言3.BASIC語言4.PASCAL語言5.C語言6.C++7.JAVA1-1.5何謂演算法?「演算法」在韋氏辭典中定義為:「在有限步驟內(nèi)解決數(shù)學(xué)問題的程序」。我們可以把演算法(Algorithm)定義成:「解決問題的方法」?!绢}目】製作蛋糕的方法,其步驟如下:一、撰寫演算法應(yīng)遵守五點(diǎn)原則1.輸入(Input):不一定要有輸入??赡軟]有,也可能是多個資料輸入。

【題目】製作蛋糕時,必須要輸入:「雞蛋、麵粉及鮮奶」等食材?!菊n本例子】例如1:不需輸入如果想要取得系統(tǒng)目前的時間,不須要輸入,只要寫一行now()

函數(shù),就可以輸出系統(tǒng)時間。例如2:必需輸入求某數(shù)為奇偶數(shù)時,則必須先要有一個輸入整數(shù),才能進(jìn)行

判斷。一、撰寫演算法應(yīng)遵守五點(diǎn)原則:(續(xù))2.明確性(Definiteness):每一行指令都必須明確,不可模稜兩可。

【題目】製作蛋糕時,要加入多少的麵粉與雞蛋及要加熱多久,

必須明確,不可模稜兩可。

例如1:判斷某一數(shù)值是否為偶數(shù)。首先我們試著用下列文字來加以描述:

(1)輸入一個正整數(shù)。

(2)作餘除運(yùn)算是否為0。

(3)為0即為偶數(shù)。以上描述看來似乎正確,但是從演算法觀點(diǎn)來看,其中的第(2)點(diǎn)並不符合「明確性」,因它並未說明「餘除運(yùn)算」是如何運(yùn)算,容易造成混淆與不解。我們應(yīng)該改寫為:

(1)輸入一個正整數(shù)N。

(2)如果N除以2,其餘數(shù)為0。

(3)則其N為偶數(shù)。不具明確性具明確性【課本例子】【課本例子】例如2:「用功的學(xué)生才能領(lǐng)獎學(xué)金」就不具有明確性,因為每一個人對用功的定義可能不盡相同,而如果改為「成績90以上的學(xué)生才能領(lǐng)獎學(xué)金」就是具有明確性,因為90分是一個比較客觀的定義。一、撰寫演算法應(yīng)遵守五點(diǎn)原則:(續(xù))3.有限性(Finiteness):演算法不能有無窮迴路,必須能終止執(zhí)行,

亦即必須在有限的步驟內(nèi)完成。

【題目】製作蛋糕必須在有限的步驟內(nèi)完成【課本例子】由於演算法並非是真正可以執(zhí)行的程式。但是,真正的程式是可以有無窮迴路的動作。例如:Windows作業(yè)系統(tǒng)(系統(tǒng)程式)除非系統(tǒng)關(guān)機(jī)或當(dāng)機(jī),否則它會

永遠(yuǎn)執(zhí)行一個「等待迴圈」,來等待使用者從鍵盤輸入或其他

的輸入設(shè)備。一、撰寫演算法應(yīng)遵守五點(diǎn)原則:(續(xù))4.正確性(Correctness):既然演算法是解決問題的方法,因此,

正確性是最基本的要求。

【題目】製作出來的蛋糕必須要正確,亦即符合使用者的需求【課本例子】例如:以下判斷某數(shù)為奇偶數(shù)的演算法,雖然符合「明確性」,但是

「不正確」,因為N除以2,其餘數(shù)為0,則N應(yīng)該為「偶數(shù)」,

而非「奇數(shù)」。

輸入一個正整數(shù)N。

如果N除以2,其餘數(shù)為0。

則其N為奇數(shù)。

應(yīng)該改為「偶數(shù)」

一、撰寫演算法應(yīng)遵守五點(diǎn)原則:(續(xù))5.輸出(Output):至少一個輸出。

【題目】在製作蛋糕時,在輸入「雞蛋、麵粉及鮮奶」之後,一定會有輸出。2024/8/1633例如:在電腦中,處理資料的基本過程有三個步驟:輸入

處理

輸出

(原始資料)(程式)(有用的資訊)

所以,使用電腦來為我們處理資料時,有可能是系統(tǒng)自動接收到一個訊號,來當(dāng)作輸入資料,但是系統(tǒng)至少會輸出一項讓使用者參考的有用資訊。

【課本例子】二、描述演算法有三種方法(一)文字?jǐn)⑹觥径x】演算法可用文字來加以描述,但是會比較不精確,因此一般較

不常用?!绢}目】

請利用「文字?jǐn)⑹觥箒砻枋鍪褂谜叩侨霂ぬ柵c密碼時,系統(tǒng)檢查的過程?!窘獯稹坎襟E一:輸入使用者帳號與密碼步驟二:判斷帳號與密碼是否正確步驟三:如果正確時,則可以登入系統(tǒng)否則,就無法登入!(二)流程圖(Flowchart)【定義】利用圖形方式來表達(dá)欲解決問題的步驟?!绢}目】請利用「流程圖」來描述使用者登入帳號與密碼時,系統(tǒng)檢查的過程。【解答】說明:流程圖可以協(xié)助程式設(shè)計者設(shè)計程式,可增加程式的可讀性。(三)虛擬碼(PseudoCode)【定義】兼具文字描述及流程圖的優(yōu)點(diǎn),其方式是用文字摻雜程式語言,

來描述解題步驟與方法?!绢}目】請利用「虛擬碼」敘述使用者登入帳號與密碼時,系統(tǒng)檢查的過程?!窘獯稹?1)Input:UserName,Password(2)IF(UserNameAndPassword)ALLTrueOutput:YouCanPass!elseOutput:YouCannotPass!說明:在資料結(jié)構(gòu)中,一般都是利用「虛擬碼」來表示演算法。一、流程圖(Flowchart)【定義】利用圖形方式來表達(dá)欲解決問題的步驟。【優(yōu)點(diǎn)】1.它可協(xié)助程式設(shè)計者設(shè)計更周詳?shù)某淌?.可增加程式的可讀性3.對於初學(xué)者而言可幫助奠定良好的程式設(shè)計基礎(chǔ)【作法】分析那些資料是要「輸入」,經(jīng)過「處理」之後,要「輸出」

那些結(jié)果?!纠L製原則】1.流程圖必須使用標(biāo)準(zhǔn)符號,便於閱讀和分析。

2.流程圖中的文字力求簡潔、扼要,而且明確可行。

3.繪製方向應(yīng)由上而下,由左至右。

4.流程線條避免太長或交叉,可多用連接符號。

延伸學(xué)習(xí)<觀念>一、流程圖(Flowchart)<續(xù)>【舉例】請繪出使用者登入「帳號」與「密碼」時,系統(tǒng)檢查的流程圖。提示:步驟1:輸入帳號與密碼

<輸入>步驟2:檢查是否正確

<處理>步驟3.1:正確時,則顯示Pass。

<輸出>步驟3.2:不正確時,則顯示NoPass。

<輸出>

延伸學(xué)習(xí)<練習(xí)>二、虛擬碼(PseudoCode)【比較「流程圖」與「虛擬碼」】【題目】比較1+2+3+…+10的「流程圖」與「虛擬碼」。

延伸學(xué)習(xí)<比較>(1)設(shè)Count=1,Total=0;(2)Total=Total+Count;(3)Count=Count+1;(4)若Count<=10則回步驟(2)(5)印出Total1-1.6程式設(shè)計概念我們要開始程式設(shè)計時,一定要進(jìn)行下面五個步驟:步驟1.分析所要解決的問題(需求)說明:(1)首先要瞭解問題的需求及條件。(2)確定要輸入那些資料。(3)確定要輸出那些資訊報表。1-1.6程式設(shè)計概念(續(xù))步驟2.設(shè)計解題的步驟(演算法)說明:撰寫演算法可以利用(1)文字?jǐn)⑹?2)流程圖(3)虛擬碼來表示解決問題的步驟。1-1.6程式設(shè)計概念(續(xù))步驟3.編寫程式

(程式碼)說明:選擇適當(dāng)?shù)某淌秸Z言,將演算法的步驟寫成一個完整的程式。1-1.6程式設(shè)計概念(續(xù))步驟4.上機(jī)測試、偵測錯誤

(偵錯)說明:一個「有用性」及「易用性」的程式,必須要經(jīng)過多次的測試,若有錯誤,立即更正,直到正確無誤為止。1-1.6程式設(shè)計概念(續(xù))步驟5.編寫程式說明書(可執(zhí)行)說明:一個功能強(qiáng)而完整的程式,使用者就會願意使用,因此必須有使用說明書,以便於別人使用或日後的維護(hù)?!緦嵗坑嬎銍呐c英文的平均成績,並依照平均成績來求顯示

「及格」與「不及格」。【解答】1.分析及定義問題:兩個等級分別如下:(1)及格:60(含)以上。(2)不及格:60以下。2.畫出整合問題的流程圖或撰寫問題的演算法。如下圖所示。3.撰寫及建立程式模組題目:計算平均成績,並判斷是否及格0102030405060708091011PrivateSubButton1_Click(……)HandlesButton1.Click

DimC_Score,E_Score,AverageAsIntegerC_Score=60E_Score=70Average=(C_Score+E_Score)/2

IfAverage>=60ThenMsgBox("及格")ElseMsgBox("不及格")EndIfEndSub4.對每一個程式模組進(jìn)行測試及除錯,直到?jīng)]有錯誤為止當(dāng)使用者輸入國文為60分,英文為61分時,是否可以計算出平均成績?yōu)?0.5,如果沒有則必須要進(jìn)行除錯,亦即要將Average的資料型態(tài)改為float(浮點(diǎn)數(shù))1-1.7為什麼要撰寫程式?主要的目的:快速解決「複雜的問題」。例如1:小華問:小明請幫我計算1加到10的總和。

小明說:1+2+3+…+10=55大家都會,太簡單了!1-1.7為什麼要撰寫程式?(續(xù))例如2:小華又問:小明請幫我計算1加到50000時。小明則說:太困難了,我無法馬上計算出結(jié)果。但是我可以利用

「撰寫程式」來處理。說明:因此,我們可以非常清楚的知道,程式語言幫忙人類

「解決複雜的問題」。1-1.8一個好程式需要滿足條件一、正確性(Correctness)二、效率性(Performance)三、可維護(hù)性(Maintainable)一、正確性(Correctness)既然演算法是解決問題的方法,所以正確性是一個好程式最基本的要求。例如:設(shè)計一個判斷奇偶數(shù)的程式說明:上面的程式處理過程中,由於程式不正確,所以產(chǎn)生錯誤的結(jié)果。二、效率性(Performance)指程式真正執(zhí)行時所必須要花費(fèi)的時間。一般評估執(zhí)行時間是依程式碼所被執(zhí)行的總次數(shù)來計算。亦即所謂的「頻率次數(shù))」當(dāng)頻率次數(shù)愈高時,代表所需的執(zhí)行時間愈長。例如:計算下列程式中變數(shù)Count被執(zhí)行的次數(shù)為何?三、可維護(hù)性(Maintainable)一個好的程式,不只需要有效率地被正確地執(zhí)行之外,也必須要考慮程式的可讀性、及未來修改和擴(kuò)充性,這屬於程式設(shè)計方法和風(fēng)格的問題,例如:使用模組化來設(shè)計程式和加上完整程式註解的說明。三、可維護(hù)性(Maintainable)(續(xù))(一)縮排【使用時機(jī)】在使用巢狀結(jié)構(gòu)時,必須特別需要。

使用「縮排」技巧

未使用「縮排」技巧三、可維護(hù)性(Maintainable)(續(xù))(二)註解【定義】它是一種「非執(zhí)行的敘述」亦即是給人看的,而電腦不會去執(zhí)

行它。此功能就是用來說明某一段程式碼的作用與目的。1.使用單引號「'」的使用時機(jī):可以寫在程式碼的後面或單獨(dú)一行註解。2.使用REM的使用時機(jī):只能寫成單獨(dú)一行註解。REM===設(shè)計一個求圓面積與圓周長的程式===ConstPIAsSingle=3.14'宣告「圓周率」為.14的常數(shù)三、可維護(hù)性(Maintainable)(續(xù))(三)變數(shù)及函數(shù)名稱的命名

好的變數(shù)宣告命名說明:爾後維護(hù)時,看到變數(shù)名稱就可以得知變數(shù)的意義。

不好的變數(shù)宣告命名說明:爾後維護(hù)時,無法馬上得知A與B變數(shù)所代表的意思。1-2.NETFramework簡介2024/8/1657.NET編譯VC#程式VB程式其他程式語言MSIL(中介語言)VC#應(yīng)用程式VB應(yīng)用程式其他程式語言設(shè)計的應(yīng)用程式

程式語言可跨平臺傳遞資料不管是哪一種程式語言,最終都要編譯成中介語言(MSIL),所有程式及程式元件之間的溝通介面都是以中介語言(MSIL)為基準(zhǔn)。1-2.1.NETFramework的架構(gòu)2024/8/1658NETFramework大致可分為三部分,分別為共通語言規(guī)範(fàn)(CommonLanguageSpecification)、共通語言執(zhí)行環(huán)境(CommonLanguageRuntime)及基礎(chǔ)類別庫(BaseClassLibrary)。如下圖所示。1-2.2共通語言規(guī)範(fàn)

(CommonLanguageSpecification)2024/8/1659在.NETFramework平臺中,它大約可以相容25種不同的程式語言,例如:VB,C#,J#,C++等。而程式設(shè)計師不需要學(xué)會每一種程式語言,只要學(xué)會其中一種語言即可,並遵守共通語言規(guī)範(fàn)的情況下,每一種程式語言都可以相互轉(zhuǎn)換為與平臺無關(guān)的中介語言(MSIL)。其最主要的目的就是不同的程式語言可以相互使用所須要的資源,而不會有轉(zhuǎn)換上的問題。1-2.3共通語言執(zhí)行環(huán)境

(CommonLanguageRuntime)2024/8/1660

「Runtime」指的是電腦在編譯某種程式語言的執(zhí)行時期。而只要以程式語言撰寫出來的程式,就必須要Runtime來執(zhí)行,而且不同的程式語言所使用的Runtime也不相同。因為Runtime提供了程式語言所必須配備的函式與物件,而各種語言的函式與物件都不盡相同,所以各種語言都有著自己的Runtime,無法共用。但是.NETFramework以共通語言執(zhí)行環(huán)境(CLR)來解決了這個共用問題,IL(IntermediateLanguage)這個中介語言(介於程式碼與機(jī)器碼之間的語言。1-2.4基礎(chǔ)類別庫(BaseClassLibrary)2024/8/1661不同的程式語言有自己的「Runtime」,而物件類別資料庫也是一樣。各種語言所用的物件類別標(biāo)準(zhǔn)不一,「基礎(chǔ)類別庫」提供了所有.NET程式語言的應(yīng)用物件,將各種語言的物件類別作整合,建立一個所有語言都可共用的物件類別資料庫,例如繪圖、多媒體、郵件管理等物件類別。1-3VB6.0與VB20102024/8/1662

最大分別是,VB6.0不是物件導(dǎo)向程式,而只是引用物件導(dǎo)向的概念。但VB2010才是真正物件導(dǎo)向程式的語言。一個真正物件導(dǎo)向的語言,必須要具備以下的特性:

1.抽象化(Abstraction)2.封裝性(Encapsulation)

3.繼承性(Inheritance)

4.多形性(Polymorphism)但是,VB6.0都沒有具備以上的這些特性。而VB2010則都則備了。1-4物件導(dǎo)向設(shè)計2024/8/1663

使用結(jié)構(gòu)化程式設(shè)計,的確簡化了我們撰寫程式的工作,也提高了程式的可維護(hù)性。但是,結(jié)構(gòu)化程式設(shè)計在開發(fā)大型專案時,專注於功能面(函式)的開發(fā),而往往忽略了功能所要處理的資料。被處理的「資料」與「功能」在結(jié)構(gòu)化的程式設(shè)計是分離的關(guān)係。在大型專案的開發(fā)上,由於要處理的問題,相對的要複雜許多,如果,「資料」與「函式」之間沒有關(guān)聯(lián)性,很容易發(fā)生錯誤,維護(hù)起來也很不方便。後來,物件導(dǎo)向程式設(shè)計的興起,就是為了解決結(jié)構(gòu)化程式設(shè)計所面臨的「資料」與「功能」分離的問題。常見的物件導(dǎo)向語言2024/8/1664常見的物件導(dǎo)向語言程式語言適用的領(lǐng)域C#或C++適合用來開發(fā)各種系統(tǒng)軟體及應(yīng)用軟體Java適合用來開發(fā)網(wǎng)際網(wǎng)路的應(yīng)用程式VisualBasic2010適合用來開發(fā)視窗應(yīng)用程式1-5主控臺應(yīng)用程式2024/8/1665主控臺應(yīng)用程式(ConsoleApplication)是物件導(dǎo)向VB中最簡單的一種應(yīng)用程式,其輸出環(huán)境類似DOS,大都是以純文字介面來顯示,因為它是以命令列輸入方式為主。【優(yōu)點(diǎn)】程式較為簡潔並且執(zhí)行速度較快【缺點(diǎn)】無法提供有親和力的使用者介面。因此,筆者不建議一般的初學(xué)者使用此方法來撰寫程式。

方法及步驟:2024/8/1666

主控臺應(yīng)用程式就是利用模組(Module)來完成,其原理為由一個Main()的主程序,其中包含所關(guān)相關(guān)的程式碼。而我們可以利用Console物件所提供的方法和屬性來處理,而在模式中也可以包含其他的副程式或函數(shù),並且不需要由屬性視窗去設(shè)定任何的屬性資料。安裝好VisualBasic2010之後,你就可以開始撰寫VB2010程式了,其步驟如下所示:步驟一:在您的桌面選取「開始」--->「程式集」--->「MicrosoftVisualBasic2010Express版」即可進(jìn)入了。如果是第一

次使用時,則必須要「建立一個專案」,其步驟如下所示:2024/8/1667步驟一:在您的桌面選取「開始」--->「程式集」--->「MicrosoftVisualBasic2010Express版」即可進(jìn)入了。如果是第一

次使用時,則必須要「新增專案」,其步驟如下所示:

2024/8/1668步驟二:在「新增專案」對話方塊中,點(diǎn)選「主控臺應(yīng)用程式」,再按「確

定」。

2024/8/1669在按「確定」鈕之後,即可完成新專案的建立,此時VB2010就會自動建立一個包含程式基本架構(gòu)的Module.vb檔案。如下圖所示:

2024/8/1670步驟三:撰寫程式

題目:第一個主控臺程式程式檔案名稱ch1-5.sln0102030405060708ModuleModule1SubMain()Console.WriteLine("我的第一個主控臺程式")Console.WriteLine()'換行Console.WriteLine("設(shè)計者:李春雄

博士")Console.Read()EndSubEndModule步驟四:執(zhí)行結(jié)果1-6VisualBASIC語言操作環(huán)境2024/8/1671雖然我們也可以利用主控臺(Console)應(yīng)用程式下來設(shè)計Windows表單的輸出入介面,但這對於初學(xué)者而言,是一件較不易學(xué)習(xí)之事。因此,若能在「Windows應(yīng)用程式模式」下,使用VisualBasic的整合開發(fā)環(huán)境(IDE),利用工具箱所提供的工具,如此,可以讓設(shè)計者不需要撰寫任何的程式碼便很輕易地製作出所需要的輸出入介面,如按鈕、文字方塊…等控制項,因此,程式設(shè)計者就只要將時間專注於了解使用者的需求及撰寫程式流程的核心,不但節(jié)省設(shè)計輸出入畫面的時間而且很容易維護(hù)。一、程序?qū)?ProcedureOriented)

2024/8/1672先寫「程式碼」之後,才能呈現(xiàn)「畫面」,並且只能呈現(xiàn)「文字化」的畫面。缺點(diǎn):沒有「視覺化」的操作介面。請輸入半徑:3面積:28.26周長:18.84功能鍵說明R:代表計算C:取消E:結(jié)束二、物件導(dǎo)向(ObjectOriented)

73VisualBasic將傳統(tǒng)的Basic從Dos移轉(zhuǎn)到Windows作業(yè)系統(tǒng)下執(zhí)行,在編寫程式時,必須先建立新的表單(Form),然後才能開始建立「物件」(如Button(按扭)、Label(標(biāo)籤),TextBox(文字框)……等),緊接著就可以設(shè)定物件的「屬性」。最後,撰寫程式相關(guān)的程式碼。如下圖所示:因為VisualBasic是一種「視覺化」的開發(fā)工具,也就是說,VB程式所設(shè)計出來的畫面,使用者只要利用滑鼠就可以輕鬆的操作所需要的功能。亦即先設(shè)計「畫面」,再撰寫「程式碼」,並且是以「圖形化」的呈現(xiàn)方式。Button物件TextBox物件Button物件Label物件1-6.1如何啟動VB20102024/8/1674安裝好VisualBasic2010之後,你就可以開始撰寫VB2010程式了,其步驟如下所示:步驟一:在您的桌面選取「開始」--->「程式集」--->「MicrosoftVisualBasic2010Express版」即可進(jìn)入了。如果是第

一次使用時,則必須要「新增專案」,其步驟如下所示:

2024/8/1675步驟二:在「新增專案」對話方塊中,選按「Windows應(yīng)用程式」

並輸入檔案名稱之後,再按「確定」。如下圖所示:

2024/8/1676步驟三:認(rèn)識VB2010整合環(huán)境畫面VisualBasic2010工作環(huán)境,分別有六大項視窗工作環(huán)境,

如下圖所示:

功能表列

一般工具列

工具箱

表單視窗

方案總管

屬性視窗2024/8/1677基本上,完整VB2010視窗如上圖所示,但有時候會缺少了某些視窗,此時你可以按「檢視」功能表列,再選取所要顯示的視窗,即可顯示之(例如:「檢視/工具箱」即可顯示工具箱)。如果需要調(diào)整視窗大小時,可以將游標(biāo)至於視窗邊緣,當(dāng)出現(xiàn)雙箭頭時即可拖曳來調(diào)整。其完整的說明如下所示:(一)功能表列你可以在功能表列中選擇所需要的功能。例如:要使用「即時運(yùn)算視窗」時,則選擇「偵錯/視窗/即時運(yùn)算」

選項。2024/8/1678(二)一般工具列除了你可以使用功能表列來選擇你需所的功能之外,VB2010也提供一般使用者常用的工具放在工具列中,讓使用者快速點(diǎn)選。例如:當(dāng)我們撰寫完成程式之後,我們可以直接在「一般工具列」中按「

」來執(zhí)行程式。而不需要在功能表列點(diǎn)選「偵錯/開始偵錯」等程序。在VB中的狀態(tài)可分為:設(shè)計、中斷及執(zhí)行模式三種,如下圖所示:2024/8/1679

(三)工具箱視窗(ToolBox)在工具箱中放置了許多群組的控制項,例如:1.所有WindowsForm群組、2.通用控制項群組、3.容器群組、4.功能表5.工具列群組6.資料群組7.元件群組8.列印群組9.對話方塊群組10.一般群組等。

2024/8/1680我們最常使用的群組為「通用控制項群組」,其基本元件有標(biāo)籤元件、文字方塊元件及按鈕元件,如下圖所示。這些基本元件一般稱之為「控制元件」或「控制項(Control)」,每個控制項都是一個完整的物件,具有屬性、事件和方法,我們只要學(xué)習(xí)如何使用它,就可以設(shè)計出專業(yè)的視窗應(yīng)用程式了。常用的控制項如下所示:滑鼠指標(biāo)Button(命令鈕)CheckBox(核取方塊)CheckedListBox(核取清單方塊)ComboBox(下拉式清單方塊)Label(標(biāo)籤

)LinkLabel超連結(jié)標(biāo)籤ListBox(清單方塊)MaskedTextBox遮罩文字方塊設(shè)計PictureBox(圖形)RadioButton單選鈕物件RichTextBox豐富文字方塊TextBox(文字框)ToolTip(工具列)WebBrowse

溫馨提示

  • 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

提交評論