認識程式語言 - fisp.com.twcd.fisp.com.tw/05857BB/pdf_b/05855BB_ch01.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/05857BB/pdf_b/05855BB_ch01.pdf · 第1 章...

Page 1: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857BB/pdf_b/05855BB_ch01.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/05857BB/pdf_b/05855BB_ch01.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 2015等

如VBA、JavaScript、ActionScript等

機器語言

組合語言

程序性語言

物件導向語言

應用軟體語言

低階語言

高階語言

程式語言

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

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

人類的語言 機器的語言

伏地挺身,

預備備~遵命!

01011000101100…

Page 3: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857BB/pdf_b/05855BB_ch01.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/05857BB/pdf_b/05855BB_ch01.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)MsgBox("Visual Basic")  (D)STAND UP PLEASE。 ≒ 統測

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

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

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

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

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

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

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

馬㆖

練習練習

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

註: 昇陽公司於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/05857BB/pdf_b/05855BB_ch01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

11第 1 章 認識程式語言

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

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

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

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

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

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

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

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

鳴笛聲可以不同。

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

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

用來開發行動裝置作業系統的程式語言

智慧型手機、平板電腦等行動裝置所使用的作業系統及App程式(如LINE、神魔之

塔等),也都是利用程式語言所開發的。以蘋果公司的iPhone智慧型手機為例,它的

作業系統與App程式,主要是利用Objective-C程式語言(以C語言為基礎,加入物

件導向特性)所開發而成。

市售行動裝置使用的作業系統,大半為Android、iOS、Windows 10 Moblie,表

1-2為開發這些作業系統使用的主要程式語言。

作業系統 開發者 使用的程式語言

Android Google(谷歌) Java

iOS Apple(蘋果) Objective-C

Windows 10 Mobile Microsoft(微軟) VB.NET

表1-2 用來開發行動裝置作業系統的程式語言▼

Page 12: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857BB/pdf_b/05855BB_ch01.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/05857BB/pdf_b/05855BB_ch01.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/05857BB/pdf_b/05855BB_ch01.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/05857BB/pdf_b/05855BB_ch01.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++等3種程式語言,推出Express版本,例如本書使用的

Visual Studio 2015 Express,便是其中一種可供初學者免費下載,來開發軟體

程式的工具。

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

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

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

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

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

陸續推出Visual Basic 2005、2008、2010、2013、2015等版本,並去除軟體

名稱中的.NET字樣。

1-2.1 Visual Basic的工作環境

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

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

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

標題列

功能表列

標準工具列

工具箱

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

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

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

按鈕名稱 按鈕圖示 功能

新增專案 新增專案

開啟檔案 開啟檔案

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

全部儲存 儲存整個方案

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

標準工具列

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

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

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

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

或關閉標準工具列。

Tip

偵錯工具列

偵錯工具列預設並不會開啟,需待我們按開始鈕

執行程式後,Visual Basic才會自動顯示偵錯

工具列(圖1-18),供我們中斷或停止程式的執行。

選按『檢視 /工具列 /偵錯』選項,可開啟

或關閉偵錯工具列。

Tip

圖1-18 偵錯工具列的說明▲

全部中斷:暫停

程式的執行

停止偵錯:停止

程式的執行,回

到 設 計 工 作 模

式,以進行程式

的設計與編修

即時運算:開啟

即時運算視窗,

方便進行偵錯

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

19第 1 章 認識程式語言

工具箱

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

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

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

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

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

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

LINE視窗中的使用範例。

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

即時運算視窗

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

式,可方便程式設計者進行程式偵錯,例如檢查資料項目的值、輸出運算式的運算結

果等(圖1-19)。

選按『偵錯 /視窗 /即時運算』選項,或透過偵錯工具

列,按中斷點鈕 旁的倒三角形,選即時運算,即

可開啟即時運算視窗,請注意!必須在開啟或新建專案

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

圖1-19 即時運算視窗▲

按 鍵後,會輸出

運算式 "10 + 20" 的值

按 鍵後,會

輸出運算式 "2 - 1" 的值

問號("?")是用來

輸出資料

按右鍵,選按『全部清

除』選項,可清除視窗

中的所有程式敘述

按 + + 鍵,也可開啟即時

運算視窗。

Tip

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

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

工作區

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

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

圖1-20 控制㊠在LINE視窗的使用範例▲

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

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

表單視窗,以設計視窗的程式畫面

Form1.vb標籤:用來撰寫程式碼

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

建立新專案時,工作區預設只有Form1.vb[設計 ]1個標籤。我們可雙按表單,來開啟

Form1.vb標籤。

Tip

5 標籤(Label)

2 文字方塊(TextBox)

4 核取方塊(CheckBox)

按此鈕,可將工具箱固定

顯示在視窗左側

按此標籤可顯示工具箱

1 圖片框(PictureBox)

3 按鈕(Button)

1

2

5

3 4

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

21第 1 章 認識程式語言

方案總管視窗

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

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

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

可檢視表單畫面及程式碼內容(圖1-22)。

表單視窗

雙按表單,可

開啟表單視窗

,檢視表單畫

圖1-22 透過方案總管視窗檢視表單與程式碼▲

程式碼視窗

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

選取表單後,

按檢視程式碼

鈕,可開啟程

式碼視窗,檢

視程式碼內容

屬性視窗

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

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

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

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

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

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

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

將Button1按鈕控制項的Text屬性更改為 "查詢"

工作環境的配置與調整

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

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

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

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

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

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

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

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

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

視窗填滿此區。

A

A

A

B

A屬性視窗與方案總

管視窗共用右側區

域,透過按索引標

籤即可切換視窗

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

23第 1 章 認識程式語言

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

窗的大小(圖1-25)。

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

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

2 按超連結文字 "開啟專

案",開啟開啟專案交

談窗

1 執行『開始/所有程式/V S E x p r e s s f o r Desktop』選項,啟動

Visual Studio

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

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

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

3 切換至存放範例檔案的

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

啟舊檔鈕

接下頁

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

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

4 按開始鈕,以進入執行

工作模式,執行程式

(此時開始鈕的名稱會

變成繼續鈕)

( )1. 在Visual Basic中,如果要更改控制項的屬性,應該透過下列何者來設定? 

(A)屬性視窗 (B)即時運算視窗 (C)方案總管視窗 (D)工具列。

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

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

( )3. 在Visual Basic中,下列何處放置有「控制項」? 

(A)方案總管視窗 (B)工具箱 (C)標準工具列 (D)即時運算視窗。

馬㆖

練習練習

5 按偵錯工具列上的停止

偵錯鈕,回至設計工作

模式,停止程式的執行

6 選 按 『 檔 案 / 關 閉 方

案』選項,即可關閉方

程式執行後,會自動

開啟偵錯工具列。

Tip

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

25第 1 章 認識程式語言

1-2.2 程式組成架構

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

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

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

表單

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

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

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

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

Tip

控制項

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

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

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

程式碼

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

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

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

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

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

表單

標籤 文字方塊

按鈕

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

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

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

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

所組成,分別說明如下:

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

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

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

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

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

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

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

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

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

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

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

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

常數

變數

保留字

運算子

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

註解

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

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

● 藍色→保留字

● 黑色→一般文字

● 綠色→註解

● 咖啡色→字串資料

Tip

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

27第 1 章 認識程式語言

Visual Basic程式編輯器功能

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

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

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

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

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

(圖1-28)。

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

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

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

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

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

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

按折疊鈕,可隱藏此程

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

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

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

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

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

的撰寫(圖1-29)。

輸入提示:程式編輯器會依據程式設計者所輸入的方法、函數、程序敘述,自動填

入正確的語法內容,加快程式設計者輸入程式敘述的速度(圖1-30)。

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

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

圖1-30 輸入提示功能可㉂動填入正確的語法▲

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

某些關鍵字在輸入部分字母

後,Visual Basic會自動顯

示對應的智慧選單

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

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

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

輸入內建函數MsgBox("後,VB會自動填入"),以加快輸入的速度

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

29第 1 章 認識程式語言

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

1-31中的行號20敘述。

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

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

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

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

(內文範例 "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/05857BB/pdf_b/05855BB_ch01.pdf · 第1 章 認識程式語言 3 低階語言 低階語言是在電腦發展初期就開發出來的程式語言,這種語言具有機器依存

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

1-2.3 程式開發流程

利用Visual Basic開發程式,從專案建立開始到程

式撰寫、測試,必須經過圖1-32所示的一系列步驟,

其中,最後步驟編譯成執行檔( .exe)可視需要進行,

並非必要步驟。

建立專案與表單

選按『檔案/新增專案』選項,可開啟新增專案交談

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

多是選用Visual Basic的Windows Form應用程式專案

類型(圖1-33)來設計,這種專案類型會自動為專案加

入一個空白的表單,讓我們佈建視窗應用程式的外觀。

需特別注意的是,在Visual Basic 2015中,需在

建立新專案時設定專案的名稱、儲存路徑及方案名稱。

其中方案名稱預設與專案名稱一致,我們可視程式設計

的需求,自行修改方案的名稱,或視專案規模的大小,

選擇是否要「建立方案資料夾」註,來儲存與專案相關

的所有檔案,例如專案檔、表單檔、圖檔…等。

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

案資料夾儲存了1個範例程式。

圖1-32 Visual Basic程式

的開發流程圖

建立專案與表單

開始

佈建控制項

設定屬性

編寫程式碼

測試程式

程式有錯?

編譯成執行檔(.exe)

結束

儲存專案

修正錯誤

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

1 選擇Visual Basic,再選Windows Form應用程式 2 輸 入 專 案 名 稱 ( 預 設 會 以

W i n d o w s A p p l i c a t i o n 1、

WindowsApplication2…依序

命名)

3 按瀏覽鈕,設定存放路徑

4 方案名稱預設會與專案名稱相

同,使用者也可自行設定檔名

5 選擇是否建立方案資料夾(預

設為建立)

6 按確定鈕,Visual Basic會建

立一個內含1個表單的新專案

選 此 可 建 立 文

字介面的Visual Basic應用程式

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

31第 1 章 認識程式語言

佈建控制項與設定屬性

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

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

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

制項及設定屬性的畫面。

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

1.2 在表單上拉曳以佈

建該控制項

1 利用工具箱佈建控制項

1.1 點選所要佈建的控

制項(如標籤控制

項)

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

2.2 在所要設定的屬性

欄(如Te x t)中設

定屬性

2.1 點選要設定屬性的

控制項(如標籤控

制項)

2 利用屬性視窗設定控制

項的屬性

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

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

計算鈕(Button1)被單按(Click)時會執行的

程式內容

結束鈕(Button2)被單按(Click)時會執行的

程式內容

編寫程式碼與測試程式

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

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

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

1 為控制項撰寫程式碼

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

2 執行及測試程式

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

控制項名稱 事件名稱專案名稱

按開始鈕,測試程式

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

33第 1 章 認識程式語言

圖1-36 儲存專案的示意圖▲

儲存專案

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

全部儲存』選項)來儲存整個程式專案。如果在建立新專案時,忘了設定專案或

方案的檔案名稱,我們可以透過方案總管視窗,在方案或專案名稱上按右鍵,選

按『重新命㈴』選項,以更改方案或專案的名稱。

此外,專案儲存後,若欲透過檔案總管視窗來檢視存放專案的資料夾,可在

方案總管視窗的專案名稱上按右鍵,選按『在檔案總管㆗開啟㈾料夾』選項來快速

達成(圖1-36)。

按全部儲存鈕,

可儲存整個方案

選按此選項,可在檔案總管中檢視

專案檔案存放的路徑及資料夾

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

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

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

圖1-37):

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

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

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

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

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

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

等。

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

方案檔

專案檔

表單資源檔

表單程式碼檔

表單檔

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

35第 1 章 認識程式語言

編譯成執行檔

在完成Visual Basic程式開發後,我們可以利用建置功能,將程式專案製作成

執行檔(*.exe)。

選按『建置/建置方案』選項,即可將程式專案編譯成執行檔,該執行檔預設

存放在專案資料夾下的 "bin/Debug" 子資料夾內。

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

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

建立專案與表單

1 按超連結文字 "新增專

案",以開啟新增專案

交談窗

接下頁

3 在名稱欄,輸入 "ans1-2b"

5 按確定鈕

2 在左邊窗格,選Visual Basic,在右邊窗格,

選Windows Form應

用程式

4 按瀏覽鈕,選取要存放

專案的路徑

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

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

接下頁

7 按此鈕,將工具箱固定

顯示在視窗左側

8 點選Label控制項

9 在表單上拉曳一個範

圍,建立標籤控制項

10 在屬性視窗中,點選

Font,並按 ,以開

啟字型交談窗

11 在字型樣式列示窗,

點選粗體;在大小列

示窗,點選14,設定

Labe l1控制項的字型

大小與樣式,最後按確

定鈕

佈建控制項與設定屬性

6 按此標籤,展開工具箱

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

37第 1 章 認識程式語言

接下頁

13 拖曳Button1控制項至

如圖所示的位置

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

12 雙按But ton控制項,

建立一個按鈕控制項

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

按下時,Labe l1控制

項會顯示我們所設定的

文字

17 按開始鈕 (或

按 鍵),執行程式

18 按顯示文字鈕,測試

Labe l1控制項是否會

顯示我們所設定的文字

編寫程式碼與測試程式

15 雙按Button1控制項,

準備撰寫程式

控制項名稱

事件名稱

專案名稱

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

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

20 按全部儲存鈕

19 按停止偵錯鈕(或表單

右上角的關閉鈕 )

,結束程式的執行

編譯成執行檔

21 選按『建置/建置方案』

選項,將此專案編譯為

執行檔

接下頁

22 在方案總管視窗,選取

專案名稱(ans1-2b),按右鍵,選按在檔案

總管中開啟資料夾選項

Page 39: 認識程式語言 - fisp.com.twcd.fisp.com.tw/05857BB/pdf_b/05855BB_ch01.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)偵錯。

馬㆖

練習練習

23 在檔案總管視窗,切換

到 "bin\Debug" 子資

料夾下,即可查看編譯

完成的專案執行檔

一、選擇題

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

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

( )2. 在Visual Basic中,若要為控制項撰寫程式,應如何操作? 

(A)雙按要撰寫程式的控制項  (B)雙按「開始」鈕 

(C)雙按「屬性」視窗  (D)雙按「方案總管」視窗中的表單。

練習練習1-2

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

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

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

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

式 (D)WPF應用程式。

( )4. 儲存撰寫完成的Visual Basic程式,至少會產生下列哪兩種類型的檔案? (A)*.docx、*xlsx  (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)我的最愛 (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"。

成果預覽:

Button1

Label1

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

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

二、多元練習題

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

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

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

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

B

C

DA