第二章 資料型別與敘述

79
第第第 第第第第第第第 本本本本本本本本本本本本本本本本本本本本本本本本本本

Upload: holly-gilbert

Post on 02-Jan-2016

47 views

Category:

Documents


0 download

DESCRIPTION

第二章 資料型別與敘述. 本章投影片僅供本書上課 教師 使用 , 非經同意請勿拷貝或轉載. 2-1 如何開發應用程式. 一般開發應用程式可分成四大階段: 問題分析 (Problem analysis) 設計演算法 (Design algorithm) 撰寫程式 (Coding) 程式的驗證 (Program verification) 包含程式證明、測試與除錯. 開發應用程式流程圖. 2-2 如何編寫 VB 視窗應用程式. 設計一個 VB 的視窗應用程式都必須經過四個階段: 1. 新增專案階段 :設定新專案的存放資料夾和名稱。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第二章       資料型別與敘述

第二章 資料型別與敘述

本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載

Page 2: 第二章       資料型別與敘述

2-1 如何開發應用程式一般開發應用程式可分成四大階段: 問題分析 (Problem analysis) 設計演算法 (Design algorithm) 撰寫程式 (Coding) 程式的驗證 (Program verification)

包含程式證明、測試與除錯

Page 3: 第二章       資料型別與敘述

開發應用程式流程圖

Page 4: 第二章       資料型別與敘述

2-2 如何編寫 VB 視窗應用程式設計一個 VB 的視窗應用程式都必須經過

四個階段: 1. 新增專案階段:設定新專案的存放資料夾和

名稱。 2. 表單設計階段:在表單上建立輸入和輸出介

面及相關屬性設定。 3. 程式碼編輯階段:編寫相關程式碼。 4. 程式執行偵錯階段:驗證程式執行是否正確?

Page 5: 第二章       資料型別與敘述

執 行 結 果

Page 6: 第二章       資料型別與敘述

(Label1)

該程式輸出入介面的表單 (Form) 及五個相關控制項

2)

問 題 分 析

Page 7: 第二章       資料型別與敘述
Page 8: 第二章       資料型別與敘述
Page 9: 第二章       資料型別與敘述

一、新增專案階段

Step1 執行 [ 開始 / 所有程式 /Microsoft Visual Studio 2010 Express/Microsoft Visual Basic 2010 Express] 指令 進入 Visual Basic 2010 整合開發環境 ( 簡稱IDE) 。

Step2 新增專案 執行功能表 [ 檔案 (F)/ 新增專案 (P)] 指

令, 出現「新增專案」對話方塊。

Page 10: 第二章       資料型別與敘述

新增專案

Page 11: 第二章       資料型別與敘述

Step3 建立新專案後,檢視專案名稱「 Hello 」和表單「 Form1 」

Page 12: 第二章       資料型別與敘述

二、表單設計階段建立表單上的輸入和輸出介面及設定各該物件的屬性。 i.e. 要先規劃須建立那些控制項,以及設定控制項在表單的位置。 6 步驟如下 :

Step1 切換到表單設計模式。 Step2 調整表單的大小。 Step3 在表單建立第一個 Label 標籤控制項, 用來顯示輸入提示訊息。

Page 13: 第二章       資料型別與敘述

在表單建立第一個 Label 標籤控制項

Page 14: 第二章       資料型別與敘述

Step4 在 Label1 控制項下方另建一個 Label2 標籤控制項。

Step5 在表單上內建立一個 TextBox 文字方塊控制項。

Page 15: 第二章       資料型別與敘述

Step6 在表單上 Label2 標籤控制項的下方再建立Button1 、 Button2 兩個按鈕控制項。

Page 16: 第二章       資料型別與敘述

表單內各控制項的相關屬性

登 入

Page 17: 第二章       資料型別與敘述

Step1 設定「 Form1 」表單物件的屬性值使用滑鼠在 Form1 表單沒控制項的地方按一下,將表單變成作用物件。

在屬性視窗點選 Form1 表單的 Text 屬性值 ,由預設 Form1 改為『登入』。

Page 18: 第二章       資料型別與敘述

Step2 設定「 Label1 」標籤控制項的屬性值 將 Label1 標籤控制項的 Text 屬性值改為『姓名:』 將 Label1 標籤控制項的 Font 字型大小屬性值 改為『 12 』:

Page 19: 第二章       資料型別與敘述

設定 Label1 標籤控制項的 Font 字型大小

Page 20: 第二章       資料型別與敘述

Label1 標籤控制項 Text 屬性的標題文字 和字型大小更改前後:

Page 21: 第二章       資料型別與敘述

Step3 設定「 TextBox1 」文字方塊控制項的 屬性值將 TextBox1 的 Font/Size 屬性值設定 為『 12 』。

Step4 修改「 Label2 」標籤控制項的屬性值 先將 Label2 標籤控制項的

AutoSize 屬性值改為『 False 』 調整 Label2 控制項的寬度 Text 屬性值設成空白字串 Font 字型大小設為『 12 』。

Page 22: 第二章       資料型別與敘述

AutoSize 屬性值改為『 False 』

Page 23: 第二章       資料型別與敘述

Label 標籤控制項的大小可以手動調整

Page 24: 第二章       資料型別與敘述

將 Label2 標籤控制項的 Text 屬性值由預設值 Label2 設成空白字串

Page 25: 第二章       資料型別與敘述

Step5

修改 Button1 、 Button2 按鈕控制項的屬性值:

將 Button1 的 Text 屬性值改為『執行』 Font/Size 改為『 10 』。 將 Button2 的 Text 屬性值改為『結束』 Font/Size 改為『 10 』。

Page 26: 第二章       資料型別與敘述

Step6

適當調整表單上各控制項的大小與位置:

Page 27: 第二章       資料型別與敘述

三、程式碼編輯階段 在屬性視窗設計好的輸出入介面,只會顯示一些預設作用。若欲在該控制項上按一下 ( 稱為 Click 事件 ) 而能執行某一功能,仍需靠寫程式碼 ( 稱為事件處理程序 ) 來完成。事件處理程序是在整合開發環境中開啟「程式碼窗格」來撰寫的。本範例須撰寫兩個事件處理程序,如下:

Page 28: 第二章       資料型別與敘述

Step1 切換到程式編碼模式 若在表單模式中,則到「方案總管」點按

「 Form1.vb 」程式檔案名。 點按程式碼檢視圖示鈕,切換到程式編碼模式。

Page 29: 第二章       資料型別與敘述

Step2 建立 Button1_Click() 事件處理程序 點按「物件名稱下拉式」清單的下拉鈕。

點按「 Button1」物件。 點按「事件名稱下拉式」清單的下拉鈕。 選取「 Click」事件。 在程式碼窗格中呈現 Button1_Click()事件處理程序專屬編碼區。

Page 30: 第二章       資料型別與敘述

Step3 在插入點游標處,用鍵盤鍵入一行敘述:

Page 31: 第二章       資料型別與敘述

方法一 切換回表單設計模式 若在程式編碼中,則到「方案總管」點按

「 Form1.vb 」程式檔名。 點按設計工具檢視圖示鈕,切換到表單設計模式。

Page 32: 第二章       資料型別與敘述

或方法二 使用另一種方式建立 Button2_Click() 事件處理程序 在結束鈕上按一下變成作用控制項。 在屬性視窗點選 事件圖示鈕,屬性視窗內將出現按

鈕類別的事件清單。

或直接在「 Click 」事件名稱上快按二下,進入Button2_Click() 事件處理程序專屬編碼區。

Page 33: 第二章       資料型別與敘述

使用最快速的方式,直接在結束鈕上快按兩下,立即進入Button2_Click() 事件處理程序的專屬編碼區。在 Button2_Click 事件處理程序內的插入點游標處,鍵入『 End 』指令。

『 End 』或『 Application.Exit() 』敘述,都會關閉程式視窗返回 VB 整合開發環境。

Page 34: 第二章       資料型別與敘述

四、程式執行偵錯階段 1. 在 VB 2010 的整合開發環境中,執行程式的方式有

下列三種,你可使用其中任一種來執行:

Page 35: 第二章       資料型別與敘述

2. 程式執行偵測後,要結束程式執行的方式有下列幾種,你可以使用其中任何一種來結束程式執行,關閉視窗返回 VB 整合開發環境。

若程式敘述中有『 End 』指令的按鈕 ( 如本例的結束鈕 ) ,點按時,返回 VB 整合開發環境。

Page 36: 第二章       資料型別與敘述

2-3 程式如何命名存檔編輯完畢 & 執行時自動產生

- 方案檔案 (.sln)- 專案檔案 (.vbproj)- 程式檔案 (.vb)- 資源檔 (.resx)- 另會產生 bin 、 obj 、 MyProject 三個資料夾。- 在「 bin\Debug 」資料夾下有執行檔 (附檔名 為 .exe) 。

VB 程式初次執行時,會自動建立一個和專案檔名稱相同的資料夾來儲存相關檔案,以方便檔案的管理。

Page 37: 第二章       資料型別與敘述

2-4 如何在 Windows 下執行程式程式撰寫完畢在整合開發環境執行程式

先進行程式編譯工作 若語法正確會自動編譯成附檔名 .exe 的可執行檔 該可執行檔存放在同一個 [bin\Debug] 資料夾中 若想在 Windows 環境下直接執行程式 就是啟動此執行檔。操作步驟如下:

Page 38: 第二章       資料型別與敘述

Step1 開啟「執行」對話方塊 執行工作列的 [ / / ] 指令。

Step2 在「執行」對話方塊中,點按 鈕 開啟「瀏覽」對話方塊。

Page 39: 第二章       資料型別與敘述

Step3 在「瀏覽」對話方塊中,操作如下: 找到【 C:/vb2010/ch02/Hello/bin/Debug 】資料夾 點選「 Hello.exe 」檔案。 點選「開啟舊檔」鈕。

Page 40: 第二章       資料型別與敘述

Step4 返回「執行」對話方塊後,按確定鈕便可直接執行可執行檔。

Step5 按「登入」視窗之 [ 結束 ] 鈕,結束「 Hello.exe 」程式的執行。

Page 41: 第二章       資料型別與敘述

2-5 敘述的組成要素 程式 (Program)是由一行接著一行的敘述所成集合。

敘述( Statement)即是程式中可執行的最小單元。

組成敘述的基本要素:保留字 (Reserve Word 、 Keyword) 、識別字 (Identifier) 、特殊符號等。

Page 42: 第二章       資料型別與敘述

一、保留字( Reserve Word) 保留字又稱關鍵字 (Key Word) 。是 VB 程式語言預先定義好的名稱。包括:屬性( Property ) / 事件( Event) / 方法( Method)運算子( Operator ) / 敘述( Statement)和函式( Function)等所使用的文字或 運算符號。

在程式編輯視窗內,敘述中碰到 VB 保留字 會以藍色波浪底線標示 提醒這些識別字是屬系統保留字不可誤用。

Page 43: 第二章       資料型別與敘述

若非用保留字當識別字,可在保留字前後加中括弧 [ ] ,可不受保留字限制。

如 Me 是保留字代表作用表單,程式中不可當識別字用,若非得使用時, 用 [Me] 定義識別字

Me 是保留字 [Me] 不是保留字。

Page 44: 第二章       資料型別與敘述

二、識別字 (Identifier)每一個人、每一件事、每一個物品都會有一個名字來加以識別。

由程式設計師在程式碼中自行定義或宣告所用到的變數、常數、結構、模組、函式、程序、物件、屬性…等名稱稱為「識別字」

使用前必須先命名才能使用,規則如下:

Page 45: 第二章       資料型別與敘述

識別字命名規則如下:1. 識別字 (Identifier)

第一個字元必須是以大小寫的字母或底線 ( _ ) 開頭,第二字元以後可由字母、數字及底線 ( _ )組合而成,但中間不可以有空格或特殊符號。 (不分大小寫 )

[ 例 ] AllOk 、 score 、 _num 、 Super5 、 Id_No 、 TaxRate 。

2. 識別字不能使用 VB 2010 的保留字。

3. 識別字總長度不可超過 255 個字元。

4. 識別字也可以使用中文名稱,但建議少用。

會以藍色的波浪底線來顯示不正確的識別字

Page 46: 第二章       資料型別與敘述

三、特殊符號 1. ( ) :小括號 在事件處理程序名稱的後面,利用小括號 ( ) 存放 傳遞的參數。如:

2. :合併敘述符號 程式中可透過冒號『:』將兩行敘述合併成一行,此 舉可縮短程式長度。如 :

num1 = 10 : num2 = 20

Page 47: 第二章       資料型別與敘述

3. ‘ :註解符號 以單引號當註解符號 註解置於敘述後面方便閱讀 編譯器會忽略註解符號 ‘ 『 』 後面的文字。 寫法: ‘Button1 按鈕控制項的 Click 事件處理程序,用來顯示兩數相加 Private Sub Button1_Click(ByVal Sender…,ByVal e ……)

Handles Button1.Click

Dim num1, num2 As Integer

num1 = 10 : num2 = 20   ‘兩行敘述合併成一行敘述    Label1.Text = num1 + num2

End Sub

Page 48: 第二章       資料型別與敘述

4. " " :字串符號兩個雙引號 " " 括起來的資料稱為「字串」。下列資料都是字串: " $*+-@#$! "

" abcde " "羅密歐 2000 " " Visual Basic 2010 " "2010"

Page 49: 第二章       資料型別與敘述

5. & :連接字串符號 若在兩個字串或數值間插入一個字串連接符號「 & 」。 可將兩個字串或數值合併成字串。 也可用 + 字串合併符號

"LED" + "燈泡” "LED燈泡 "

"VB" & 2010 "VB2010"

5 & " 號 " "5 號 "

20 & 10 "2010"

20 + 10 30 ‘ 結果為數值 非字串

Page 50: 第二章       資料型別與敘述

6. _ :行接續符號 使用時機

當一行敘述車過一行,可用『 _ 』底線,當行接續符號,將一行敘述拆成兩行

作法在第一行預段行處字串最後一個字元後加一個空格,再加底線。

Case1 Private Sub Button1_Click(ByVal sender As Object, ByVal e _ As System.EventArgs) Handles Button1.Click

Case 2 Dim chia = 90 , math = 80 , eng = 85

改為 3 行 Dim chia = 90 , _

math = 80 , _ eng = 85

Page 51: 第二章       資料型別與敘述

7. . :從屬符號物件與屬性間使用從屬符號『 . 』隔開。格式 :物件名稱 . 屬性名稱 Label1.Text = "茱莉葉 2000 "

8. 算術運算符號有 + ( 加 ) 、 - ( 減 ) 、 * ( 乘 ) 、 / ( 除 ) 、

\ ( 整數除法 ) 、 ^ ( 指數 ) 、 MOD(餘數 ) 。

sum = num1 + num2

Page 52: 第二章       資料型別與敘述

9. 比較運算符號有 = (等於 ) 、 <> (不等於 ) 、 < ( 小於 ) 、

> ( 大於 ) 、 <= ( 小於等於 ) 、 >= ( 大於等於 ) 。

結果有二種, True 或 False 。

num1 = 10 : num2 = 20

If num1 <= num2 Then

Label1.Text = num2 ‘ 將 num2 的值指定給 Label1.Text 屬性

EndIf

Page 53: 第二章       資料型別與敘述

2-6 常值 常值是鍵盤可鍵入的字元資料或電腦可顯示 的文數字資料,用來指定給

變數當作「變數值」 物件屬性當作「屬性值」。

VB 2010 的常值包括: 數值常值、字串常值、日期常值、布林常值、

物件常值。

一、數值常值 數值常值會以整數或帶小數表示。可細分:

整數常值和浮點數常值。

Page 54: 第二章       資料型別與敘述

1. 整數常值 由數字、 + ( 正 ) 、 - ( 負 ) 所組成。如下表

Page 55: 第二章       資料型別與敘述

2. 浮點數常值 浮點數常值是整數常值後面跟著小數點。

Page 56: 第二章       資料型別與敘述

二、科學記號表示浮點常值 若單精確度常值的整數為數超過 7 位,而倍精確度常值整數位數超過 15 位時,電腦會以科學記號表示。

Page 57: 第二章       資料型別與敘述

三、字串 (String)常值字串常值是由一連串的字元組成。和數值常值有所區別,字串常值頭尾必須加上雙引號 " " 括住

組成的字元 (Char) 必須是英文字母、空格、

數字、特殊符號以及中文字。如 125 是數值常值可做四則運算 " 125 " 為字串常值 做字串的比較

Page 58: 第二章       資料型別與敘述

字串常值可再細分 字元 (Char) 字串 (String) 所佔記憶體空間和允許的範圍大小:

【簡例】 "Stu no " "W " "7Eleven"

"No money no talk ! " "VB 常在我心中! " "25,000" 屬字串資料 " x = x + 1 " 非運算式,屬字串資料

Page 59: 第二章       資料型別與敘述

四、布林常值日常生活中,對事情 有喜歡與不喜歡、要與不要、去與不去、同意與不同意、是與否兩種狀態。

電腦,若一個資料只有兩種狀態 可用 VB 所提供的布林常值表示。 有兩種, True 、 False ,分別表示 真與假。

Page 60: 第二章       資料型別與敘述

在關係運算式及邏輯運算式的條件式中,常使用 Boolean 資料型別 用它來判斷條件式是否成立。

Page 61: 第二章       資料型別與敘述

五、日期常值 日期常值可指定日期,也可指定時間,也可同時

指定日期和時間。指定日期常值必須頭尾使用 # 括住,如: #5/31/2010# #7/7/2010 6:50:30 AM# #12:44:26 PM#

日期常值所佔的記憶體大小和可表示的範圍如下:

Page 62: 第二章       資料型別與敘述

六、物件常值 物件常值包含任何型別的資料。 (含數值型別 Value

Type、參考型別 Reference Type…..)

Object 資料型別的變數相當好用,可存放任何資料型別的資料。在存取時會較一般變數稍慢。

Object 變數本身都不包含任何值,而是包含該值的指標。

在記憶體中所佔空間為 四個位元組,不包括表示變數值的資料。

Page 63: 第二章       資料型別與敘述

2-7 變數 ( Variable)變數是指資料內容隨程式執行而變。程式中若需用到變數,使用前需先經宣告。宣告目的

給予資料一個名稱稱為「變數名稱」 賦予該變數一個適當的資料型別。

在程式中設定變數初值時 會依所宣告變數資料型別自動配置記憶體 大小來存放該變數內容。

VB 2010 變數可依需求設成字串、數值、日期時間…等資料型別。

Page 64: 第二章       資料型別與敘述

一、變數名稱的命名規則 變數命名需遵循識別字命名規則 名稱可為英文字母、中文字、數字、底線 _ 任意組合 建議變數名稱統一以小寫,中文字建議少用。

二、變數的資料型別 VB主要將變數分成數值變數 / 字串 (String) 變數 / 日期 (Date) 變數

物件 (Object) 變數 數值變數再細分為

位元組 (Byte) 變數 / 短整數 (Short) 變數 / 整數(Integer) 變數 / 長整數 (Long) 變數 / 單精確度(Single) 變數 倍精確度 (Double) 變數 / 貨幣型別 (Decimal) 變數。

當程式執行時,電腦會依變數所宣告的資料型別來分配所需要的主記憶體空間。

Page 65: 第二章       資料型別與敘述

三、變數的宣告方式

VB 是用 Dim 、 Redim 、 Static 、 Public 配合

As 來宣告變數的資料型別。

Dim a1 As IntegerDim a2, a3 As Long Dim a4 As SingleDim a5 As DoubleDim s1 As StringDim bool1 As Boolean Dim d1, d2 As DateDim ob1 As Object

Page 66: 第二章       資料型別與敘述

四、如何設定變數的初值 一個變數只能存放一個資料。 被存放的資料就稱為「變數值」。 當變數宣告後,可立即指定變數值給該變數,即初值。 若變數宣告沒指定初值系統自動給予預設值。 若是數值型別變數,其預設值為『 0 』 若是字串型別變數,其預設值為 『 " " 』 ( 空字串 ) 。 VB 宣告變數時可設定初值,也可隨時指定或透過運算結果來更改變數值。

使用「 = 」等號設定變數值,方式: Dim num1 As Integer = 260

Page 67: 第二章       資料型別與敘述

Step1 建立新增專案,命名為「 varTest 」。Step2 在表單內建立 Label1 、 Button1 兩個控制項和設

定各物件屬性值:

Page 68: 第二章       資料型別與敘述

01 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

02 Dim num1 As Integer

03 num1 = 1200

04 Label1.Text = num1

05 End Sub

Step3 切換到程式碼模式,編輯程式碼敘述,如下:

Page 69: 第二章       資料型別與敘述

Step4 按 [F5] 鍵執行程式,按 [ 顯示變數值 ] 鈕,結果如右下圖:

Step5 關閉程式執行視窗,返回整合環境。

Page 70: 第二章       資料型別與敘述

各型別資料在上例執行後顯示於 Label1 的情形:

Page 71: 第二章       資料型別與敘述

2-9 運算式 (Expression)

運算式可由運算元 (Operand) 和運算子(Operator)組成的式子。

如: x = a * 3 + b 敘述 a * 3 + b 是運算式 a 、 b 、 3 是運算元 +(加號 ) 、 *(乘號 ) 是運算子 x 是一個變數名稱 = (等號 ) 是指定運算子

將等號右邊運算式的結果 ( 變數值 ) 指定給等號左邊的變數

寫法: 變數 = 運算式

Page 72: 第二章       資料型別與敘述

電腦的運算式和數學運算式表示方法差不多等號左邊不允許用運算式、常值,只能用變數。 VB 2010 依照運算子功能將運算式分成五類:

1. 算術運算式 ( 本節介紹 )

2. 字串運算式 ( 本節介紹 )

3. 複合指定運算子 ( 本節介紹 )

4. 關係運算式 ( 第五章介紹 )

5. 邏輯運算式 ( 第五章介紹 )

Page 73: 第二章       資料型別與敘述

一般數學計算式子,在 VB 中所用的運算符號 即運算子與各運算子的優先執行順序如下表:

一、算術運算式

除依上述優先順序外,要由左而右,小括號先做。

Page 74: 第二章       資料型別與敘述
Page 75: 第二章       資料型別與敘述

二、字串運算式

1. 前後都是字串資料作字串合併 使用 "+" 為合併運算子。

2. 若前後為數值資料 「 + 」視為加法運算子進行兩數相加

3. 若數值和字串作字串合併 使用「 & 」合併運算子進行字串合併。

Page 76: 第二章       資料型別與敘述

1. 「 + 」合併運算子

Page 77: 第二章       資料型別與敘述

2. 「 & 」合併運算子

Page 78: 第二章       資料型別與敘述

3. 複合運算子

Page 79: 第二章       資料型別與敘述