認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章...

42
1 認識程式語言 大雄獨自坐著時光機來到未來世界他發現那裡的機器人都聽不 懂自己說的話還好哆啦A 夢事先為他準備了一台命令機讓他只要 用筆寫下簡單的文字就可以讓機器人都聽從命令機所翻譯的指令在電腦科學的領域中想要指揮電腦工作也必須使用電腦能瞭 解的語言來下達指令電腦才會依照我們的指示執行例如我們平時 操作的應用軟體就是程式設計師使用電腦可接受的語言所撰寫而成 的程式你想要學習可以用來指揮電腦工作的程式語言嗎你知道目前最 炙手可熱的程式語言是什麼嗎 學好本章 可以打穩程式設計的基 助你邁向程式設計者之路1-1 程式語言簡介 1-1.1 程式語言的類別 1-1.2 程式的翻譯 1-2 Visual Basic 簡介 1-2.1 Visual Basic 的工作 環境 1-2.2 程式組成架構 1-2.3 程式開發流程

Transcript of 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章...

Page 1: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

1 認識程式語言

大雄獨自坐著時光機來到未來世界,他發現那裡的機器人都聽不

懂自己說的話,還好哆啦A夢事先為他準備了一台命令機,讓他只要

用筆寫下簡單的文字,就可以讓機器人都聽從命令機所翻譯的指令。

在電腦科學的領域中,想要指揮電腦工作,也必須使用電腦能瞭

解的語言來下達指令,電腦才會依照我們的指示執行。例如我們平時

操作的應用軟體,就是程式設計師使用電腦可接受的語言所撰寫而成

的程式。

你想要學習可以用來指揮電腦工作的程式語言嗎?你知道目前最

炙手可熱的程式語言是什麼嗎?學好本章,可以打穩程式設計的基

礎,助你邁向程式設計者之路。

1-1 程式語言簡介

1-1.1 程式語言的類別

1-1.2 程式的翻譯

1-2 Visual Basic簡介

1-2.1 Visual Basic的工作

環境

1-2.2 程式組成架構

1-2.3 程式開發流程

Page 2: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

2 程式語言與設計-Visual Basic Ⅰ

高階語言 低階語言

可讀性高高 低低

1-1 程式語言簡介

程式( p r o g r a m)是一組用來指揮電腦工作的指令集合,程式設計者必

須使用電腦可以接受的特定語言來下達指令,才能命令電腦從事各項資料處

理的工作。這種用來指揮電腦運作,並具有特定格式的語言便稱為程式語言

(programming language)。

1-1.1 程式語言的類別

程式語言若以容易閱讀的程度來區分,可分為 低階語言( l o w - l e v e l

language)與 高階語言(high-level language)兩大類(圖1-1)。低階語言與

人類的語言差異極大,可讀性低;而高階語言與人類的語言則較為接近,可讀性

高,如圖1-2所示。

如FORTRAN、COBOL、BASIC、

Pascal、C等

如C++、Java、Visual Basic 2010等

如VBA、JavaScript、ActionScript等

機器語言

組合語言

程序性語言

物件導向語言

應用軟體語言

低階語言

高階語言

程式語言

圖1-1 程式語言的分類▲

圖1-2 以容易閱讀的程度區分低階語言與高階語言之示意圖▲

人類的語言 機器的語言

伏地挺身,

預備備~遵命!

01011000101100…

Page 3: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

3第 1 章 認識程式語言

低階語言

低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有 機器依存

(machine-dependent)的特性,意即可在某廠牌電腦上執行的程式,通常無法

在另一廠牌的電腦上執行。

目前的應用軟體已經很少使用低階語言來開發,但是由於低階語言與電腦硬

體元件的運作關聯性較為密切,因此製造硬體設備的廠商仍會使用這種語言,來

開發電腦硬體設備的驅動程式等軟體。

低階語言可分為 機器語言(machine l anguage)與 組合語言(assembly

language)兩種,分別說明如下。

機器語言

機器語言是唯一不需經由翻譯,電腦就能直接執行的語言。這種語言的指令

是以0與1兩種符號組合而成,在學習上極為不易。由於每種電腦的機器語言都是

依據該電腦的特性所設計出來,不同廠牌的電腦所使用的機器語言也有所不同,

因此即使學會了一種機器語言,也無法直接使用到其他的電腦上。

不過,利用機器語言所撰寫出來的程式,通常佔用的記憶體較少、執行速度

較快,且較能有效地發揮電腦硬體的效能。圖1-3為一個機器語言的範例。

000000 00001 00010 00110 00000 100000

100011 00011 01000 00000 00001 000100

000000 00001 00011 00010 00000 100000

000010 00000 00000 00000 10000 001001

100011 00010 00101 00100 00001 001110

000001 00010 00011 00001 00000 101101

000001 00011 00010 01011 00000 101101

000010 00000 10100 00100 01000 000000

000100 00010 00100 00111 00000 011011

圖1-3 以0與1㆓進位方式編碼的機器語言▲

Page 4: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

4 程式語言與設計-Visual Basic Ⅰ

組合語言

組合語言是一種使用接近人類語言的字組,來代替機器語言符號(以0與1

表示)的語言,例如以 "ADD"、"SUB"、"MUL"、"DIV" 來代表算術運算中

的加、減、乘、除。這種類似英文簡寫的字組,在電腦科學領域中稱為 助憶碼

(mnemonic code);這種助憶碼可使程式的設計,比使用0與1編碼的機器語言

來得容易,可讀性也較高。

但以組合語言撰寫的程式,必須經過 組譯器

(assembler)翻譯成機器語言之後,才能在電腦上

執行。圖1-4為x86系列組合語言的範例。

MOV AX, 100

MOV BX, 10

ADD AX, BX

圖1-4 組合語言範例(計

算100 + 10的總和)

( )1. 不管用哪一種語言來撰寫程式最後都必須轉換成下列哪一種語言才能執行? 

(A)C語言 (B)組合語言 (C)機器語言 (D)自然語言。 技競

( )2. 機器語言及組合語言是屬於下列何種程式語言類別? 

(A)物件導向語言 (B)低階語言 (C)中階語言 (D)高階語言。 統測

( )3. 下列何種資訊最有可能是儲存於電腦主記憶體內的機器語言指令? 

(A)01010010 00000111  (B)ADD AL #11  (C)Debug.Print("Visual Basic")  (D)STAND UP PLEASE。 ≒ 統測

( )4. 下列哪一種程式具有機器依存的特性,意即電腦不同,就無法執行? 

(A)程序性語言 (B)機器語言 (C)物件導向語言 (D)應用的語言。

( )5. 在電腦程式語言的演進過程中,機器語言屬於第一代語言,組合語言屬於第二

代語言。下列關於機器語言及組合語言在不同電腦中使用的敘述,何者正確? (A)需使用相同的機器語言和相同的組合語言 

(B)需使用相同的機器語言和不同的組合語言 

(C)需使用不同的機器語言和相同的組合語言 

(D)需使用不同的機器語言和不同的組合語言。 統測

馬㆖

練習練習

Page 5: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

5第 1 章 認識程式語言

Tip有關編譯及直譯

的概念,將在第

1 - 1 . 2節中做詳

細的說明。

圖1-5 高階語言程式敘述是由多個機器語言指令組成的示意圖▲

一個高階語言程式敘述 翻譯

機器語言指令1

機器語言指令2

機器語言指令N

高階語言

高階語言的語法較接近人類語言,這種程式語言會將許多常用的低階語言指

令組合並隱含在一個 程式敘述(statement)中,因此,當我們使用一個高階語言

的程式敘述來指揮電腦工作時,往往就相當於下達了許多個機器語言指令來要求

電腦工作,如圖1-5所示。

由於電腦只能執行機器語言指令,所以使用高階語言撰寫的程式,必須經過

編譯器(compiler)或 直譯器(interpreter)等軟體翻譯成機器語言指令後,才

能在電腦上執行。表1-1彙整出高階語言與低階語言的差異比較。

表1-1 高階語言與低階語言的比較▼

比較項目 高階語言 低階語言

程式的撰寫 較容易 較困難

佔用記憶體的空間 較大 較小

可讀性 較高 較低

可攜性註

較高 較低

除錯 較容易 較困難

維護 較容易 較困難

學習難易度 較容易 較困難

註: 使用某種程式語言所撰寫的程式,若不需要修改或僅需小幅修改,即可在不同的電腦系統上執行,我

們稱該種程式語言的可攜性高,反之則稱其可攜性低。

Page 6: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

6 程式語言與設計-Visual Basic Ⅰ

高階語言有很多,以下介紹程序性語言、物件導向語言、應用軟體語言等三

類常見的高階語言。

程序性語言

程序性語言(procedural language)是一種依照程式敘述的先後順序及流

程來執行的程式語言,程式設計者在使用這種語言設計程式時,必須利用程式敘

述來告知電腦需要完成什麼工作及完成這些工作的流程。常見的程序性語言有

FORTRAN、COBOL、BASIC、Pascal、C等。

FORTRAN:是IBM公司於1954年,針對科學及工程計算用途所發展出來

的一種程式語言。這種語言具有運算速度快及準確度高的特色,圖1-6是一個

FORTRAN語言的程式範例。

Read(5, 20) X, Y

FORMAT(2F4.0)

Z = X - Y

IF(Z) 30, 40, 40

Z = Y - X

WRITE(6, 50) Z

FORMAT(F4.0)

STOP

END

圖1-6 FORTRAN語言的程式範例註

COBOL:是美國國防部於1959年,專為處理商業資料而設計的一種程式語

言。這種語言具有穩定性高的特性,適合用來處理大量的商業資料及製作各

種商業報表。圖1-7是一個使用COBOL語言的程式範例。

註: 圖1-6 ~ 圖1-10之範例具有相同的功能-計算X與Y兩數之差。

Page 7: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

7第 1 章 認識程式語言

IDENTIFICATION DIVIDION.

PROGRAM-ID. EXAMPLE.

ENVIRONMENT DIVISION.

CONFIGURATION DIVISION

SOURCE-COMPUTER. IBM-370/135

OBJECT-COMPUTER. IBM-370/135

DATA DIVISION.

WORKING-STORAGE SECTION.

77 X PICTURE S9(4).

77 Y PICTURE S9(4).

77 Z PICTURE S9(4).

PROCEDURE DIVISION

ACCEPT X

ACCEPT Y

SUBTRACT Y FROM X GIVING Z.

IF Z IS NEGATIVE SUBTRACT X FROM Y GIVING Z.

DISPLAY Z.

STOP RUN

圖1-7 COBOL語言的程式範例▲

BASIC:是美國Dartmouth學院於1960年代中期,專為初學者而設計的一種

程式語言。這種語言相當適合教學使用,圖1-8是一個BASIC語言的程式範

例。

Input X, Y

If X - Y >= 0 Then

Z = X - Y

Else

Z = Y - X

End If

Print Z

End

圖1-8 BASIC語言的程式範例▲

有許多公司將Basic改良成多種不同版本,例如:GWBASIC、QBASIC、Visual Basic…等。

Tip

Page 8: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

8 程式語言與設計-Visual Basic Ⅰ

Pascal:是瑞士電腦科學家尼客勞斯.沃斯(Niklaus Wirth)教授於1970

年代初期,專為教學使用所發展出來的一種程式語言(以紀念數學家巴斯卡

(Blaise Pascal)而命名)。這種語言的組成內涵相當完備,且具有結構化

的特色,可讓學習者完整地認識程式語言的概念,並習得結構化程式設計的

方法。圖1-9是一個Pascal語言的程式範例。

PROGRAM example(input, output);

var

X, Y, Z: integer;

begin

read(X, Y);

if X - Y >= 0 then

Z := X - Y

else

Z := Y - X;

write(Z);

end.

圖1-9 Pascal語言的程式範例▲

C:是美國貝爾實驗室(Bell Labs)在1970年代初期,為了開發系統軟體

(例如作業系統)所發展出來的一種程式語言。這種語言兼具組合語言及高

階語言的特性,因此廣泛地用來開發系統軟體及一般應用程式。圖1-10是一

個C語言的程式範例。

main()

{

int X, Y, Z;

scanf("%d %d", &X, &Y);

if(X - Y >= 0)

Z = X - Y;

else

Z = Y - X;

printf("%d\n", Z);

}

圖1-10 C語言的程式範例▲

Page 9: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

9第 1 章 認識程式語言

物件導向語言

物件導向(object-oriented, OO)的概念源自於一般個體多半是由數個較小

的元件組合而成;每一個用來組成個體的元件,都各有其特定的功能,例如「腳

踏車」個體是由控制騎乘方向的「手把」、示警用的「響鈴」、及行進用的「輪

子」…等元件所組成。

物件導向程式設計(object-oriented programming)便是運用物件導向的

概念,利用多個物件來組合出完整的程式,意即將解決問題所需使用的資料及處

理程序加以包裝,並設計完善的介面來與外界溝通,使其成為可獨立運作的 物件

(objects)。

物件導向語言(objec t -o r ien ted l anguage)是一種以設計及運用物件功

能的方式來開發程式的語言。使用這種語言來設計程式時,通常必須定義 類別

(class)及設計個別物件,才能開發出解決問題的程式。

類別可視為某類物件的樣板,它定義了這些物件所具有的共同特性,例如圖

1-11中的轎車、跑車、休旅車…等不同的車輛物件,都具有可載人(物)、有輪

子、可轉彎…等相同的特性,這些車輛都是遵照「車子設計圖」這個類別所設計

出來的。在物件導向語言中,類別可視為某類物件的樣板,它定義了這類物件所

具有的共同特性。

轎車

跑車休旅車

卡車

車子(類別)

圖1-11 類別的比喻說明▲

Page 10: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

10 程式語言與設計-Visual Basic Ⅰ

物件是指具有特定屬性、方法及事件的個體,例如汽車具有長、寬、高、顏

色等「屬性」;具有換檔變速、煞車、轉彎…等「方法」;還有爆胎、撞擊、下

雨等可能發生的「事件」(如圖1-12)。

常見的物件導向語言有C++、Java、Visual Basic 2010等,以下將先介紹

C++及Java,有關Visual Basic 2010的部分將在第1-2節中詳細介紹。

C++:是美國貝爾實驗室在1980年代以C為基礎,加入物件導向的特性,所

發展出來的一種程式語言。適合用來開發系統軟體及應用程式。

Java:是美國昇陽(Sun Microsystems)註公司為了開發商務應用程式,於

1989年所發展出來的一種程式語言。這種語言具有可攜性高及安全性佳的優

點,適合用來開發系統軟體、手機應用程式等。

物件導向語言具有 封裝(encapsu la t ion)、 繼承( inher i t ance)、 多型

(polymorphism)等3種特性,可以簡化程式的開發流程、降低程式的複雜度,

及避免重複撰寫相同的程式碼。這3種特性說明如下:

1. 封裝:將具有特定功能的處理程序及資料包裝在物件中,使用者不需瞭解

物件內部的設計即可使用。例如汽車都具有加速、煞車等功能,但駕車者

不需瞭解汽車內部的機械、電機原理,就能開車到目的地。

註: 昇陽公司於2010年被甲骨文(Oracle)公司收購。

排檔桿

煞車用踏板

跑車

屬性: 1. 長 × 寬 × 高:6 × 1.5 × 1.2(m)

2. 車體顏色:紅色

方法: 1. 換檔

2. 煞車

3. 轉彎

4. 踩油門

事件: 1. 爆胎

2. 撞擊(應彈出氣囊)

3. 下雨(應啟動自動雨刷)

圖1-12 物件的比喻說明▲

Page 11: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

11第 1 章 認識程式語言

2. 繼承:新類別或物件可以承襲既有類別的功能及屬性,省去撰寫相同程式

碼的時間。例如設計「警車」物件,只要承襲「車」類別的特性及功能,

加上鳴笛、閃示燈等事件註,而不需全部重新設計。

3. 多型:新類別或物件可以擁有與既有類別相同名稱但功能不同的方法;例

如「警車」、「消防車」、「救護車」物件都有「鳴笛」事件,但發出的

鳴笛聲可以不同。

應用軟體語言

應用軟體語言是指特定應用軟體(如Office、Flash等)所附屬的專用程式語

言,可用來讓使用者依照自己的需求,設計應用軟體未提供的功能,使軟體的功

能具有擴充性。常見的應用軟體語言有VBA、ActionScript、JavaScript等,分

別介紹如下:

VBA:是微軟公司為了增加Office軟體的使用彈性,所發展出來的一種程式

語言。使用這種語言所撰寫的程式稱為VBA巨集(macro)程式,可用來開

發Office系列軟體本身所未提供的功能。

ActionScript:是Macromedia公司為了提昇Flash動畫與使用者之間的互動

性,所發展出來的一種程式語言。透過這種語言,可讓使用者控制動畫的播

放、移動動畫中的物件、輸入文字…等。

JavaScript:是網景公司針對網頁設計所發展的一種直敘語言(scr ip t ing

language)。這種語言的語法類似C語言,可用來擴充HTML的功能,以製

作出動態網頁及互動式網頁。

直敘語言是一種程式敘述相當簡短,且大多採用直譯方式的程式語言。通常我們可

直接在某些程式檔案中,撰寫此種語言的程式;例如可在HTML檔案中,直接撰

寫JavaScript程式。

Tip

註: 事件是指發生在物件上的動作。當事件發生時,會驅動物件執行一個特定的反應,例如當我們踩油門

(事件)時,汽車(物件)會加速前進。

Page 12: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

12 程式語言與設計-Visual Basic Ⅰ

( )1. 以下哪一種程式語言不是高階語言? 

(A)BASIC (B)COBOL (C)FORTRAN (D)Assembly Language。

( )2. 下列有關使用組合語言與高階語言寫程式的比較,何者是不正確的? (A)組合語言寫的程式產生的程式碼通常較短 (B)組合語言寫的程式執行起來通常較

快 (C)組合語言寫的程式較易看懂 (D)組合語言寫的程式較難測試。 技競

( )3. 下列哪一種程式語言,同時具有封裝性、繼承性及多型性的特性? 

(A)BASIC (B)COBOL (C)FORTRAN (D)JAVA。 統測

( )4. 下列何者不是「物件導向程式設計」的特性? 

(A)機密性 (B)封裝性 (C)繼承性 (D)多型性。 統測

( )5. 在物件導向程式語言中,子類別(subclass)會分享父類別(superclass)所

定義的結構與行為,下列何者最能描述此種特性? 

(A)封裝(encapsulation)  (B)繼承(inheritance) 

(C)多型(polymorphism)  (D)委派(delegation)。 統測

馬㆖

練習練習

1-1.2 程式的翻譯

使用高階語言撰寫的程式,必須透過翻譯程式轉換成機器語言指令之後,才

能讓電腦執行。高階語言的翻譯方式有直譯( interpret)與編譯(compile)兩

種,分別說明如下:

直譯

在哈利波特電影中,如果麻瓜(一般人)對著掃把說:「飛吧!」,掃把是

不會有反應的,但若透過魔法師將麻瓜的話翻譯成咒語,就能讓掃把飛起來。在

上述舉例中,魔法師將麻瓜的一句話翻譯成咒語,讓掃把飛起來,就類似程式語

言中直譯的概念。

Page 13: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

13第 1 章 認識程式語言

直譯是使用直譯器( interpreter,又稱直譯程式)將程式逐行翻譯成機器語

言,並立即執行的一種程式翻譯方式(圖1-13)。直譯方式可讓程式設計者逐行

檢查程式執行的結果,適合在程式開發階段的偵錯與測試使用。但此種翻譯方式

在每次要執行程式時都必須重新翻譯,程式才能執行,因此執行的速度較慢。

原始程式 直譯機器語言

程式執行

每次翻譯並執行一行程式敘述

讀取下一行程式並執行,直到每一行程式都翻譯、執行完為止

圖1-13 利用直譯器翻譯的流程▲

編譯

女神卡卡舉行世界巡迴演唱會前,必須先向公關公司說明行程的細節(包含

地點、飯店等),再由公關公司告知當地(如台灣)人員去安排與執行。在此例

中,公關公司將女神卡卡的計畫翻譯成國語讓當地人員瞭解並執行計畫內容,就

類似程式語言中編譯的概念。

編譯是使用編譯器(compi l e r,又稱編譯程式)將整個程式翻譯成機器語

言的一種程式翻譯方式(圖1-14)。程式經過編譯後所產生的目的碼,可透過

連結程式( l i n k e r,又稱連結器),連結與程式相關的檔案,以產生可執行檔

(如 .exe)。當要執行程式時,只要透過作業系統的載入程式( loader,又稱載

入器),將可執行檔載入記憶體即可直接執行,而不需要重新翻譯程式,因此執

行的速度較快。

圖1-14 利用編譯器翻譯的流程▲

原始程式 編譯機器語言程式

(目的碼)

透過載入程式(loader)將可執行檔載入記憶體

透過連結程式(linker)連結程式庫

執行 載入可執行檔

(如.exe)連結 程式庫

(函數、副程式)

Page 14: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

14 程式語言與設計-Visual Basic Ⅰ

( )1. 高階語言所編寫的程式原始檔,須經由下列何種程式的轉換之後,才會成為

可執行檔? (A)編譯程式、連結程式 (B)驅動程式、載入程式 (C)組譯程

式、驅動程式 (D)連結程式、載入程式。 統測

( )2. a.代表編譯程式原始碼、b.代表編寫程式原始碼、c.代表載入可執行程式碼、

d.代表產生程式目的碼、e.代表連結程式目的碼,下列何種順序是正確的程式

編寫與編譯過程? (A)becad (B)beadc (C)baedc (D)badec。 統測

( )3. 下列何者不是高階語言程式所會使用到的翻譯程式? 

a.組譯器 b.編譯器 c.直譯器 d.口譯器 

(A)ab (B)ac (C)ad (D)bc。

馬㆖

練習練習

一、選擇題

( )1. 下列程式語言,何者屬低階語言? 

(A)組合語言 (B)BASIC (C)Visual Basic (D)C++。 統測

( )2. 如果你是電腦發展早期(例如1940年)的軟體工程師,請問你最可能使用下

列哪一種程式語言來開發程式? 

(A)機器語言 (B)應用軟體語言 (C)程序性語言 (D)物件導向語言。

( )3. 下列有關高階與低階電腦程式語言的比較,何者正確? (A)高階語言程式撰

寫比較困難 (B)低階語言程式執行速度較快 (C)高階語言程式除錯比較困難 (D)低階語言程式維護比較容易。 統測

( )4. 關於程式語言的敘述,下列何者不正確? (A)機器語言對硬體有很強的控制

能力 (B)Visual Basic具有視覺化的設計,屬於物件導向語言 (C)組合語言

可以用來寫硬體驅動程式,屬於高階語言 (D)Java具有物件導向特性,可應

用在網際網路程式。 統測

( )5. 下列哪一種程式語言所撰寫的程式,在執行前無須先經過組譯、直譯或編譯的

程序? (A)組合語言 (B)機器語言 (C)物件導向語言 (D)程序性高階語

言。 統測

( )6. 下列有關程式語言之敘述,何者不正確?  ( A ) 組合語言為低階語言 (B)JAVA程式可以在不同作業系統間移植 (C)物件導向語言具封裝、繼承與

多型特性 (D)組合語言不需經過組譯即可執行。 統測

練習練習1-1

Page 15: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

15第 1 章 認識程式語言

( )7. 下列哪一個程式語言,適合用來開發系統軟體及一般應用程式? 

(A)FORTRAN (B)COBOL (C)BASIC (D)C。

( )8. 當程式設計師以物件導向方式開發一個『校務行政課程管理系統』時,下列何者

通常不會以類別(class)來表示? (A)學生 (B)教師 (C)課程 (D)姓名。

( )9. 在物件導向語言中,何者可視為物件的樣板,它用來定義某類物件所具有的共

同特性? (A)類別 (B)屬性 (C)方法 (D)事件。

( )10. 下列哪一種程式翻譯方式,是將高階語言的原始碼逐行翻譯成機器語言指令,

並立即執行? (A)直譯 (B)組譯 (C)編譯 (D)口譯。

二、填充題

1. 下表為組譯、編譯、直譯的比較,請在空格中填入對應的翻譯程式。

翻譯程式 適用的程式語言 翻譯次數 執行速度 執行檔

      組合語言

只需1次 快 有

     高階語言,如Visual Basic、Java

     每次執行程式

皆需重新翻譯慢 無

1-2 Visual Basic簡介

為了協助程式設計者配合網際網路應用的多元需求,快速開發出各種應用程

式,例如網路聊天室應用程式、網路拍賣應用程式…等,微軟公司在2000年提出了

一個可整合不同程式語言,且可透過網路來存取程式資源的構想-.NET平台註。

自2002年起微軟公司陸續發表了 .NET平台構想的軟體開發工具-Visua l

Studio。為了鼓勵初學者學習,微軟公司特別針對該平台內建的Visual Basic、

Visual C#、Visual C++及Visual J#等4種程式語言,推出Express版本,例如

本書使用的Visual Basic 2010 Express,便是其中一種可供初學者免費下載,

來開發軟體程式的工具。

註: 有關.NET平台的特色介紹,請參閱本書附錄A-1。

Page 16: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

16 程式語言與設計-Visual Basic Ⅰ

微軟公司自2002年所發表的Visual Basic程式語言,承襲了Visual Basic 6.0

的優點,並加入了豐富的類別及物件資源,是一個物件導向程式語言。一般常稱

這種程式語言為Visual Basic.NET(簡稱VB.NET),2005年後微軟公司又陸續

推出Visual Basic 2005、2008、2010等版本,並去除軟體名稱中的.NET字樣。

1-2.1 Visual Basic的工作環境

Visual Basic註的工作環境包含了標題列、功能表列、標準工具列、工具箱、

工作區、方案總管視窗、屬性視窗、即時運算視窗等主要區域,如圖1-15所示。

註: 有關Visual Basic 2010的下載與安裝,請參考附錄A-2的說明。

圖1-15 Visual Basic的工作環境▲

標題列

功能表列

標準工具列

工具箱

即時運算視

工作區

Page 17: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

17第 1 章 認識程式語言

功能表列

功能表列(圖1-17)彙集了Visual Basic提供的

所有功能,我們可利用滑鼠單按功能表上的名稱,或

按鍵盤 + 功能表名稱旁顯示的英文字母,即可顯

示功能表中的所有選項。

圖1-17 功能表列▲

按 + 鍵,即可開啟檔案功能表 功能表列

標準工具列

方案總管視窗

屬性視窗

標題列

Visual Basic的標題列(圖1-16)除了會顯示程

式方案的名稱之外,還會在程式執行或偵錯階段,顯

示程式專案的工作模式。

圖1-16 標題列▲

程式方案名稱 工作模式

Page 18: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

18 程式語言與設計-Visual Basic Ⅰ

1-2 標準工具列常用按鈕的說明▼

按鈕名稱 按鈕圖示 功能

新增專案 新增專案

開啟檔案 開啟檔案

加入新項目 在目前專案中加入新的檔案(如表單、資料庫)

儲存 儲存目前工作區所開啟的檔案

全部儲存 儲存整個專案

開始偵錯 執行程式,進入執行工作模式

停止偵錯停止程式的執行,回至設計工作模式,可進行程式

的設計與編修

方案總管 開啟方案總管視窗

屬性視窗 開啟屬性視窗

工具箱 開啟工具箱

即時運算 開啟即時運算視窗

工具箱

工具箱預設會自動隱藏,我們可按工具箱標籤顯示工具箱,若再按 鈕,即

可將工具箱固定顯示在視窗左側。在工具箱中提供了許多設計視窗程式的工具,

其內預設有66種控制項按鈕;為了方便使用者選用,Visual Basic將控制項註依

功能歸類為通用控制㊠、容器…等9種群組。

程式設計者可透過雙按控制項按鈕的方式,或單按控制項按鈕,再至表單

上以拉曳滑鼠的方式,在表單上佈建所需使用的視窗元件。圖1-18是控制項在

Windows Live Messenger視窗中的使用範例。

標準工具列

標準工具列是用來放置常用的按鈕,以節省操作

時間。Visual Basic預設會顯示標準工具列,表1-2為

該工具列上幾個常用按鈕的設明。

註: 有關控制項的使用,將在第3章中做詳細的說明。

選按『檢視 /工具列 /標準』選項,可開啟

或關閉標準工具列。

Tip

Page 19: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

19第 1 章 認識程式語言

工作區

工作區是以索引標籤的方式,讓使用者可以點選索引標籤,以切換到對應的

視窗進行程式開發的工作。圖1-19為在工作區中切換索引標籤的示意圖。

圖1-18 控制㊠在Windows Live Messenger視窗的使用範例▲

圖1-19 在工作區㆗切換索引標籤的示意圖▲

Form1.vb[設計 ]標籤:用來檢視

表單視窗,以設計視窗的程式畫面 Form1.vb標籤:用來撰寫程式碼

點選標籤即可切換到對應的視窗

建立新專案時,工作區預設只有Form1.vb[設計]1個標籤。

Tip

Forml.vb [設計]

(Form1事件) Load

Public Class Form1

Private Sub Form1_Load(ByVal sender

End SubEnd Class

2 標籤(Label)

3 下拉式方塊(ComboBox)

4 文字方塊(TextBox)

5 核取方塊(CheckBox)

按此鈕,可將工具箱固定

顯示在視窗左側

按此標籤可顯示工具箱

653

2

1

1 圖片框(PictureBox)

6 按鈕(Button)4

Page 20: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

20 程式語言與設計-Visual Basic Ⅰ

Button1 Click

Public Class Form1 Private Sub Button1_Click(ByVal sender As Dim a, b As Integer a = TextBox1.Text b = TextBox2.Text TextBox3.Text = a + b End SubEnd Class

方案總管視窗

在Visual Basic中,專案(Project)是指一個開發完成的應用程式所包含的

相關檔案;方案(solutions)可視為含有多個專案的群組。方案總管視窗是用來

顯示方案與專案的組成架構,以方便程式設計者檢視與管理。此外利用此視窗所

提供的工具鈕,可檢視表單畫面及程式碼內容(圖1-20)。

表單視窗

按設計工具檢視鈕,可開啟表單視窗,檢視表單畫面

圖1-20 利用方案總管視窗檢視表單與程式碼▲

程式碼視窗

(內文範例 "ch1-2a.sln")

按檢視程式碼鈕,可開啟程式碼視窗,檢視程式碼內容

Page 21: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

21第 1 章 認識程式語言

屬性視窗

屬性視窗是用來瀏覽及設定控制項的屬性(例如顏色、大小、字型等)。當

我們在屬性視窗選定任一屬性時,該視窗的最下方區域會顯示所選取屬性的用途

說明。圖1-21是按鈕控制項的Text屬性更改前後的對照圖。

即時運算視窗

即時運算視窗提供以直譯的方式翻譯與執行單行程式敘述,此種翻譯程式敘

述的方式,適合程式設計者用來檢查資料項目的值、輸出運算式的運算結果等

(圖1-22)。

按標準工具列的 鈕,可開啟即時運算視窗,請注意!必須在開啟或新建專

案的情況下,才能使用此視窗的功能。

在即時運算視窗上按右鍵,選按『全部清除』選項,可清除視窗中的所有程式敘述。

Tip

? 10+2030

? 2-11

圖1-22 即時運算視窗▲

按 鍵後,會輸出運算式 "10+20" 的值

按 鍵後,會輸出運算式 "2-1" 的值

問號("?")是用來

輸出資料

更改Text屬性前 屬性視窗 更改Text屬性後

圖1-21 按鈕控制㊠屬性更改前後的比較▲

將Button1按鈕 控 制 項 的

Te x t 屬性更

改為 "查詢"

Page 22: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

22 程式語言與設計-Visual Basic Ⅰ

工作環境的配置與調整

在Visual Basic工作環境中,工具箱、屬性視窗、方案總管視窗…等,統稱為輔助設

計視窗,我們可依個人使用習慣自行調整輔助設計視窗的位置與大小。

調整視窗位置:拖曳視窗標題,Visual Basic工作環境會顯示停駐點,供程式設計

者選擇將視窗移至何處(圖1-23)。

圖1-23 調整屬性視窗位置的範例▲

A 區停駐點:將視窗拖曳至 、 、 、 等停駐點,表示要將視窗填滿工作環境

的上、下、左、右等區域的位置。

B 區停駐點:將視窗拖曳至 、 、 、 等停駐點,表示要將視窗放置在此區

(本例為方案總管視窗)的上、下、左、右等位置;拖曳至 停駐點,表示要將

視窗填滿此區。

調整視窗大小:將游標移至視窗邊界,待指標變成 或 時拖曳,即可調整視窗

的大小(圖1-24)。

圖1-24 調整工具箱大小的範例▲

調整前 調整後(工具箱變瘦了!)

屬性視窗與方案總

管視窗共用右側區

域,透過按索引標

籤即可切換視窗

A

AB

A

A

Page 23: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

23第 1 章 認識程式語言

2 按超連結文字 "開啟專

案",以開啟開啟專案

交談窗

4 按開始偵錯鈕,以進入

執行工作模式,執行程

1 執行『開始/所有程式/M i c r o s o f t V i s u a l Studio 2010 Express/Microsoft Visual Basic 2010 Exp ress』選

項,啟動Visual Basic

㆖機實作㆖機實作 熟悉Visual Basic的工作模式

開啟範例檔案 "Ex1-2a.sln",練習使用標準工具列的開始偵錯鈕 與停止偵錯鈕 ,

來切換Visual Basic的執行與設計兩種工作模式。

3 切換至存放範例檔案的

資料夾,選取範例檔案 "Ex1-2a.sln",並按開

啟鈕

接下頁

Page 24: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

24 程式語言與設計-Visual Basic Ⅰ

( )1. 在Visual Basic的整合式開發環境中,下列哪一個區域,最適合用來在表單上

建立一個按鈕物件? 

(A)工具箱 (B)工作清單 (C)專案總管 (D)即時運算視窗。 統測

( )2. 在Visual Basic中,按哪一個工具鈕,可用來執行程式? 

(A)  (B)  (C)  (D) 。

( )3. 在Visual Basic的哪一種工作模式下,可佈建控制項及撰寫程式碼? 

(A)中斷模式 (B)設計模式 (C)執行模式 (D)標準模式。

馬㆖

練習練習

表單上的3個數字

會不斷變動

5 按停止偵錯鈕,回至設

計工作模式,停止程式

的執行

6 選 按 『 檔 案 / 關 閉 專

案』選項,即可關閉專

Page 25: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

25第 1 章 認識程式語言

1-2.2 程式組成架構

Visual Basic可用來開發許多不同類型的應用程式,例如一般的視窗應用程式、

網路應用程式、智慧型手機應用程式…等,這些程式通常是以專案的型式存檔。

以下將以開發視窗應用程式為例,說明組成此類應用程式專案的3個重要元件。

表單

表單是用來佈建控制項的場所,我們可在其上設計出程式視窗的外觀,如圖

1-25中的視窗畫面。每一個專案(*.vbproj)可包含1個或多個表單(*.vb),每

一個表單檔中都會記錄表單上所佈建的控制項。

專案檔的副檔名 vbproj,為Visual Basic Project的縮寫。

Tip

控制項

控制項是設計視窗應用程式所需使用的視窗元件(都放於工具箱中),這些

控制項可用來設計程式中與使用者互動的介面,例如圖1-25中的標籤、文字方塊

及按鈕等都是一種控制項。

程式碼

程 式 碼 是 程 式 設 計 者 依 據 程 式 語 言 的 語 法 所 撰 寫 出 來 的 程 式 敘 述

(statements),具有解決特定問題的功能。例如圖1-26程式碼視窗中的敘述,

即具有計算圓面積的功能。

圖1-25 視窗應用程式範例(計算圓面積)▲

(內文範例 "ch1-2b.sln")

表單

標籤

文字方塊

按鈕

Page 26: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

26 程式語言與設計-Visual Basic Ⅰ

Visual Basic的每一行程式敘述是由 常數(constant)、 變數(variable)、

保留字(reserved word)、 運算子(operator)、 註解(comment)…等元素

所組成,分別說明如下:

常數:指程式執行過程中,資料內容固定不變的資料項目。例如圖1-26中PI。

變數:指程式執行過程中,資料內容可變動的資料項目。例如圖1-26中的r。

保留字:是程式中具有特別意義的字元組合(可參閱附錄A - 2),例如

「Dim」便是一個Visual Basic的保留字,是用來宣告變數資料型別的字彙。

運算子:即運算符號,例如「*」運算子表示乘法的算術運算。

註解:用來作為程式的說明(須以

單引號或 "Rem" 為開頭),不會

影響程式的執行(如圖1 - 2 6倒數

第3行後面以單引號開頭的文字敘

述)。適當地在程式中加入註解,

可使程式較易於閱讀與維護。

圖1-26 計算圓面積程式▲

Button1 Click

Public Class Form1

Private Sub Button1_Click1(ByVal sender As System.Object, ByVal e Const PI = 3.14 '宣告圓周率PI常數

Dim r As Single '宣告半徑r變數

Dim area As Single '宣告面積area變數

r = TextBox1.Text '讀取使用者在文字方塊(TextBox1)輸入的半徑

area = r * r * pi '計算圓面積,公式為:半徑×半徑×圓周率

TextBox2.Text = area '將圓面積顯示在文字方塊(TextBox2) End Sub

End Class

常數

變數

保留字

運算子

(內文範例 "ch1-2b.sln")

註解

Visual Basic語言的不同組成元素,

在程式敘述中會呈現不同的顏色:

● 藍色→保留字

● 黑色→一般文字

● 綠色→註解

● 咖啡色→字串資料

Tip

Page 27: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

27第 1 章 認識程式語言

Button1 Click

Public Class Form1

Private Sub Button1_Click(B

Private Sub Button2_Click(B90: End End SubEnd Class

Visual Basic程式編輯器功能

Visual Basic的程式編輯器提供許多功能,用來輔助程式設計者在程式碼視窗中,進

行程式碼編寫的工作;以下介紹幾個實用的功能:

程式區段的摺疊與展開:在撰寫程式時,程式編輯器會自動為一個程式區段(例

如:Private Sub…End Sub),加上摺疊/展開鈕 / ,讓程式設計可摺疊隱藏

程式區段或展開顯示程式區段,以方便在較大型的程式中,瀏覽特定範圍的程式碼

(圖1-27)。

Button1 Click

Public Class Form1

Private Sub Button1_Click(ByVal sende10: Dim length As Integer20: Dim width As Integer30: length = TextBox1.Text40: width = TextBox2.Text50: If length <= 0 Or width <= 0 Then60: MsgBox("請重新輸入")70: End If80: TextBox3.Text = length * width End Sub

Private Sub Button2_Click(ByVal sende90: End End SubEnd Class

圖1-27 程式區段的摺疊與展開▲

(內文範例 "ch1-2c.sln")

自動對齊:程式編輯器會自動將每個程式敘述內縮固定的字元,以利程式的閱讀。

例如圖1-27(左)中,行號10 ~ 80的程式敘述會自動縮排4個字元;行號50為一

個條件敘述(If…Then)的開頭,因此之後的程式敘述(即行號60)會再自動縮

排4個字元…,以此類推。

按折疊鈕,可隱藏此程

式區段(行號10 ~ 80)摺疊鈕變成展開鈕了

Page 28: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

28 程式語言與設計-Visual Basic Ⅰ

智慧選單:程式編輯器會依據程式設計者所輸入的宣告敘述、物件及類別名稱,顯

示對應的智慧選單,讓程式設計者可雙按選單中的某一選項,來快速完成程式敘述

的撰寫(圖1-28)。

輸入提示:程式編輯器會依據程式設計者所輸入的方法、函數、程序名稱,顯示對

應的語法提示文字,讓程式設計者可輸入正確無誤的程式敘述(圖1-29)。

在撰寫程式時,除了可善用程式編輯器所提供的功能之外,還可以利用多行敘述與換

行敘述的撰寫技巧,使程式碼更易於閱讀。

圖1-29 輸入提示功能會顯示語法提示文字▲

圖1-28 智慧選單功能可加快程式碼的撰㊢▲

Button1 Click

Public Class Form1

Private Sub Button1_Click(ByVal sender As S D End SubEnd Class

某些關鍵字在

輸 入 部 分 字

母後,Visual B a s i c會自動

顯示對應的智

慧選單

按 鍵,Visual Basic會自動輸入智慧

選單中目前被選取的選項;我們也可直接雙

按選單中的任一選項,來輸入選取的項目

輸入內建函數

S p a c e ( )時,

所顯示的輸入

提示,即為該

函數的語法

(Form1事件) Load

Public Class Form1

Private Sub Form1_Load(ByVal sender As Sys Space( End SubEnd Class

Page 29: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

29第 1 章 認識程式語言

多行敘述:使用冒號(:)將一些較簡短的程式敘述,合併撰寫在同一行中,如圖

1-30中的行號20敘述。

換行敘述:在等號、逗號及&等運算符號後,按 鍵,可將同一行程式敘述,

分割成多行顯示註,如圖1-30中的行號10。或者我們也可使用底線(_),將同一

行程式敘述,強迫分割成多行來顯示。

圖1-30 多行敘述與換行敘述的撰㊢技巧▲

(Form1事件) Activated

Public Class Form1

Private Sub Form1_Activated(ByVal sender A10: Dim height As Integer, width As Integer20: height = 20 : width = 1030: TextBox1.Text = height * width End SubEnd Class

(內文範例 "ch1-2d.sln")

換行敘述

多行敘述

( )1. Visual Basic的程式是以專案形式儲存,其副檔名為 

(A).jsl (B).vb (C).vbproj (D).xsd。

( )2. 每一個Visual Basic程式專案至少包含幾個表單? 

(A)1個 (B)2個 (C)3個 (D)4個。

( )3. Visual Basic程式專案中的表單檔案,其副檔名為 

(A).jsl (B).vb (C).vbproj (D).xsd。

( )4. 在程式敘述的組成要素中,下列何者是程式中具有特別意義的字元組合,例如

Dim? (A)運算子 (B)變數 (C)保留字 (D)註解。

( )5. 在程式敘述的組成要素中,下列何者可用來作為程式的說明,且文字的色彩是

以綠色來呈現? (A)運算子 (B)註解 (C)變數 (D)保留字。

馬㆖

練習練習

註: 選按『工具/選項』選項,在開啟的選項交談窗,雙按左側的文字編輯器/Basic,接著在交談窗右側勾

選自動換行核取方塊,則Visual Basic會自動將超出視窗畫面的敘述以多行顯示。

Page 30: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

30 程式語言與設計-Visual Basic Ⅰ

1-2.3 程式開發流程

利用Visual Basic開發程式,從專案建立開始到程式撰寫、測試,必須經過

一系列的步驟,圖1-31為Visual Basic程式的開發流程,其中,最後一個步驟編

譯成執行檔(.exe)可視程式設計者的需要進行,並非必要步驟。

建立專案與表單

當我們在Visual Basic中選按『檔案/新增專案』選項,會自動出現新增專案

交談窗,讓程式設計者選擇所要建立的專案類型。本書範例皆是選用Windows

Form應用程式專案類型來設計,這種專案類型會自動為專案加入一個空白的表單

(圖1-32),讓我們佈建視窗應用程式的外觀。

圖1-31 Visual Basic程式的

開發流程圖

建立專案

開始

建立表單

佈建控制項

設定屬性

編寫程式碼

測試程式

程式有錯?

編譯成執行檔(.exe)

結束

是(有錯誤)

修正錯誤

否(無錯誤)

Visual Basic會自動為新專案加入1個表單

圖1-32 建立專案與表單的示意圖▲

2 按確定鈕

1 選擇建立Windows Form應用程式的專案類型

Page 31: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

31第 1 章 認識程式語言

佈建控制項與設定屬性

我們可以利用拉曳或雙按的方式,在表單上佈建程式所需使用的控制項,以

設計出程式的視窗外觀。每一種控制項通常都具有許多屬性,設定控制項的屬

性,可以讓控制項呈現出不同的外貌。圖1-33為在計算矩形面積的表單上佈建控

制項及設定屬性的畫面。

圖1-33 佈建控制㊠與設定屬性的示意圖▲

1.2 在表單上拉曳以佈

建該控制項

1 利用工具箱佈建控制項

1.1 點選所要佈建的控

制項(如標籤控制

項)

(內文範例 "ch1-2e.sln")

2.2 在所要設定的屬性

欄(如Te x t)中設

定屬性

2.1 點選要設定屬性的

控制項(如標籤控

制項)

2 利用屬性視窗設定控制

項的屬性

Page 32: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

32 程式語言與設計-Visual Basic Ⅰ

編寫程式碼與測試程式

在設計好程式的外觀後,就可以開始編寫程式碼,指示當控制項被驅動(例

如被單按)時,電腦應該要執行什麼樣的動作。在程式碼設計完成後,程式設計

者必須進行程式的測試,以便修正程式中可能的錯誤(如圖1-34)。

Button1 Click

Public Class Form1

Private Sub Button1_Click(ByVal sender As 10: Dim length As Integer20: Dim width As Integer30: length = TextBox1.Text40: width = TextBox2.Text50: TextBox3.Text = length * width End Sub

計算鈕(Button1)被單按(Click)時會執行的程式內容

控制項名稱 事件名稱

1 為控制項撰寫

程式碼

圖1-34 編㊢程式碼與測試程式的示意圖▲

2 執行及測試程式

(內文範例 "ch1-2f.sln")

結束鈕(Button2)被單按(Click)時會執行的程式內容

Button2 Click

Private Sub Button2_Click(ByVal sender As Syst60: End End SubEnd Class

Page 33: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

33第 1 章 認識程式語言

圖1-35 儲存專案與表單的示意圖▲

儲存專案

在程式測試無誤後,就可以利用標準工具列上的全部儲存鈕 (或『檔案/全

部儲存』選項)來儲存整個程式專案。在儲存專案時,可視專案規模的大小,選

擇是否要「建立方案資料夾」,來儲存所有與專案相關的檔案,例如專案檔、表

單檔、圖檔、資料集…等。(圖1-35)。

方案可視為含有多個專案的群組,它是Visual Basic提供程式設計者用來管

理大型程式專案的工具。在開啟一個新專案(.vbproj)時,Visual Basic會自動

建立一個與專案同名的方案( .sln),因此儲存專案時VB會分別儲存方案檔與專

案檔。

為了方便教師及同學們找尋所要使用的範例檔案,本書所有範例程式皆以方案資料夾儲

存,即每個方案資料夾儲存了1個範例程式。

Tip

1 按全部儲存鈕,以儲

存程式專案

2 輸入所要儲存的專案

名稱,並設定專案的

儲存位置

3 選擇是否要建立方案

資料夾來儲存專案程

式(若勾選此核取方

塊,可自訂方案名

稱)

4 按儲存鈕,儲存整個

專案程式

Page 34: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

34 程式語言與設計-Visual Basic Ⅰ

以下說明將專案儲存時,Visual Basic自動為專案建立的幾個重要檔案(如

圖1-36):

方案檔(*.sln):儲存與方案相關的專案資訊,例如專案的儲存位置。

專案檔(*.vbproj):儲存與專案相關的資訊,例如專案的版本、專案所使用

的類別、專案所引用參考的檔案…等。

表單檔(*.vb):儲存與表單相關的資訊,例如表單上所佈建的控制項。表單

程式碼檔的副檔名亦為*.vb,其內儲存與控制項相對應的程式碼。

表單㈾源檔(*.resx):儲存表單所使用到的各項資源,例如影像、圖示…

等。

圖1-36 儲存專案程式時所產生的檔案▲

方案檔

專案檔

表單資源檔

表單程式碼

表單檔

Page 35: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

35第 1 章 認識程式語言

編譯成執行檔

在完成Visual Basic程式開發後,我們可以利用建置

功能,將程式專案製作成執行檔(*.exe),以便在只安

裝有.NET Framework平台的電腦上執行該程式專案。

選按『偵錯/建置xxx』選項("xxx" 表示目前所開啟的專案名稱),即可將

程式專案編譯成執行檔,該執行檔會存放在專案資料夾下的 "bin/Release" 子資

料夾內。

.NET Framework可在微軟公司的網

站免費下載安裝。

Tip

㆖機實作㆖機實作 我的第1支Visual Basic程式

練習撰寫第1支Visual Basic程式,以體驗程式開發的流程。

建立專案與表單

1 按超連結文字 "新增專

案",以開啟新增專案

交談窗

接下頁

2 點選Windows Form應用程式,並按確定

鈕,建立視窗應用程式

類型的專案

Page 36: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

36 程式語言與設計-Visual Basic Ⅰ

接下頁

4 按此鈕,將工具箱固定

顯示在視窗左側

5 點選Label控制項

6 在表單上拉曳一個範

圍,建立標籤控制項

7 在屬性視窗中,點選

Font,並按 ,以開

啟字型交談窗

8 在字型樣式列示窗,

點選粗體;在大小列

示窗,點選14,設定

Labe l1控制項的字型

大小與樣式,最後按確

定鈕

佈建控制項與設定屬性

3 按此標籤,展開工具箱

Page 37: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

37第 1 章 認識程式語言

接下頁

10 拖曳Button1控制項至

如圖所示的位置

11 在屬性視窗中,將Text屬性更改為 "顯示文字"

9 雙按But ton控制項,

建立一個按鈕控制項

13 輸入程式碼:Label1.Text = "第1支程式",設定Button1控制項被

按下時,Labe l1控制

項會顯示我們所設定的

文字

14 按開始偵錯鈕 (或

按 鍵),執行程式

控制項名稱

事件名稱

15 按顯示文字鈕,測試

Labe l1控制項是否會

顯示我們所設定的文字

編寫程式碼與測試程式

12 雙按Button1控制項,

準備撰寫程式

Page 38: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

38 程式語言與設計-Visual Basic Ⅰ

接下頁

17 按全部儲存鈕,開啟儲

存專案交談窗

18 在名稱欄輸入 "Ans1-2b",並按瀏覽鈕,選

取要存放專案的路徑

19 勾選為方案建立目錄核

取方塊,設定要建立一

個資料夾,用來存放與

方案相關的檔案,最後

按儲存鈕

16 按停止偵錯鈕(或表單

右上角的關閉鈕 )

,結束程式的執行

編譯成執行檔

20 選按『偵錯/建置Ans1-2b』選項,將此專案

編譯為執行檔

Page 39: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

39第 1 章 認識程式語言

( )1. Visual Basic程式開發流程的步驟應為何? 

a.佈建控制項 b.撰寫程式碼 c.設定控制項屬性 d.測試程式 

(A)a→b→c→d (B)a→c→b→d (C)a→c→d→b (D)a→d→c→b。

( )2. 在Visual Basic中,我們可以使用工具列上的哪一個工具按鈕,來結束程式的

執行? (A)  (B)  (C)  (D) 。

( )3. 在Visual Basic中,我們可以使用下列哪一個功能表,將撰寫完成的程式專案

編譯為執行檔(*.exe)? (A)檔案 (B)檢視 (C)建置 (D)偵錯。

馬㆖

練習練習

21 開啟檔案總管視窗,切

換到存放專案路徑的 "bin\Release" 子資料

夾下,即可查看編譯完

成的專案執行檔

一、選擇題

( )1. 在Visual Basic中,我們可由下列哪一個視窗看出目前已開啟的程式專案架

構? (A)工具箱 (B)表單視窗 (C)屬性視窗 (D)方案總管視窗。

( )2. Visual Basic的程式架構包含下列哪三個部份? (A)專案、類別、表單 (B)專案、使用者控制項、表單 (C)表單、控制項、程式碼 (D)表單、類別、控

制項。

練習練習1-2

Page 40: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

40 程式語言與設計-Visual Basic Ⅰ

( )3. 在Visual Basic中,若要建立視窗應用程式,應在新增專案交談窗中,選擇何

種專案類型? (A)Windows Form應用程式 (B)類別庫 (C)主控台應用程

式 (D)WPF應用程式。

( )4. 儲存撰寫完成的Visual Basic程式,至少會產生下列哪兩種類型的檔案? (A)*.doc、*xls (B)*.dll、*.sys (C)*.exe、*.com (D)*.vbproj、*.vb。

( )5. 在Visual Basic指令中,REM的功能為下列何者? (A)只作為程式註解,程

式不會執行 (B)作為運算符號  (C)設定控制項的屬性 (D)用來測試程式。

( )6. 下列哪一個步驟不是建立Visual Basic視窗應用程式的必要步驟? (A)建立

專案與表單 (B)撰寫程式碼與測試程式 (C)儲存專案與表單 (D)編譯程式

成執行檔。

( )7. 下列哪一個檔案是Visual Basic的方案檔? (A)Form1.vb (B)Form1.Designer.vb (C)Ans1-3a.sln (D)Ans1-3a.vbproj。

( )8. 在存放專案路徑的哪一個子資料夾中,可查看編譯完成的專案執行檔? 

(A)bin\Debug (B)bin\Release (C)My Project (D)obj。

( )9. 在Visual Basic中,按哪一個按鍵可用來執行程式? (A)  (B)  (C) (D) 。

( )10. 選按Visual Basic的哪一個選項,可用來關閉目前開啟的專案程式? (A)偵錯/停止偵錯 (B)偵錯/開始偵錯 (C)檔案/關閉 (D)檔案/關閉專案。

二、實作題

1. 請同學參照第1-2.3節上機實作 "我的第1支Visual Basic程式",在表單上佈建一個

標籤及按鈕控制項,並設定當按鈕被按下後,標籤控制項會顯示自己的偶像名稱,

最後將檔案儲存為 "Ans1-2c.sln"。

成果預覽:

Label1

Button1

Page 41: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

41第 1 章 認識程式語言

一、選擇題

( )1. 程式設計師通常不使用機器語言來撰寫程式,其原因是: (A)機器語言可讀性

差 (B)機器語言須經編譯才能執行 (C)機器語言執行速度慢 (D)機器語言指

令功能少。 統測

( )2. 下列哪一項不是高階語言(與低階語言比較)的優點? (A)程式需花費較長

的時間撰寫 (B)程式容易維護 (C)程式可攜性(portability)高 (D)容易學

習。

( )3. CPU可直接執行的語言為: (A)BASIC語言 (B)組合語言 (C)機器語言 (D)高階語言。 統測

( )4. 在物件導向設計中,相同性質的物件(Objects)可以集合成為: 

(A)屬性(Attributes)  (B)群集(Aggregation) 

(C)類別(Classes)  (D)訊息(Messages)。

( )5. 在物件導向的觀念中,下列何者表示某類別之屬性? (A)電視在播映DVD影片

(B)電腦在編譯VB程式 (C)電鍋使用110伏特電壓 (D)電子雞在唱KTV。 統測

( )6. 下列哪一項不是程式語言執行前所會使用到的軟體? 

(A)組譯器(Assembler)  (B)編譯器(Compiler) 

(C)瀏覽器(Browser)  (D)直譯器(Interpreter)。 統測

( )7. 下列有關Visual Basic語言的敘述,何者正確? (A)Visual Basic語言是由美

國史丹佛大學(Stanford University)的教授所發展出來的 (B)Visual Basic語言是一種高階語言 (C)Visual Basic語言只能被直譯(interpret),不能被

編譯(compile) (D)Visual Basic語言不能用來撰寫視窗程式。 ≒ 技競

( )8. 在Visual Basic工作環境中,我們可以在哪個區域進行表單畫面的設計及程式碼

的撰寫工作? (A)工作區 (B)工具箱 (C)方案總管視窗 (D)屬性視窗。

( )9. 在撰寫Visual Basic程式時,若要為某些程式敘述加上註解,須在註解文字前加

上下列哪一個符號? (A)" (B)' (C)% (D)#。

( )10. 在撰寫Visual Basic程式時,使用下列哪一個符號可將一些較簡短的程式敘述,

合併撰寫在同一行? (A)逗號 (B)分號 (C)冒號 (D)井字號。

綜合評量綜合評量

Page 42: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857AB/pdf_b/05857AB01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

42 程式語言與設計-Visual Basic Ⅰ

二、多元練習題

1. 參照附錄A-2,在家中的電腦安裝Visual Basic 2010 Express,並線上註冊,才能

永久免費試用。最後在下列空格中,填入線上註冊所取得的註冊金鑰並妥為保存,

若未來需要在未註冊的電腦中,使用Visual Basic 2010 Express,即可直接使用金

鑰來註冊,以省去註冊時間。

註冊金鑰:      -      -      -      -      

2. 下圖是Visual Basic的工作環境,請看圖回答下列各小題:

(1) 若要在表單上佈建一個TextBox(文字方塊)控制項,我們必須在哪一個視窗

中點選對應的TextBox(文字方塊)控制項?           。

(2) 從哪一個視窗,可以查到此專案共有1個表單?          。

A

B

C

D