VB語法教學 - CMLab

Download Report

Transcript VB語法教學 - CMLab

VB語法教學
讓電腦聽我們的話

可是電腦太笨了,所以一定要講他的語言
但是跟笨的人講話太慢了
 所以我們需要一個翻譯的人
 我們在容忍範圍內講得更清楚,讓翻譯聽懂以後再幫
我們翻得更細一點給電腦聽

compiler
人
程式語言
電腦語言
START FROM MATH
運算子
1+1=?
運算元
變數
X =3
Y=2


X+Y=?
X Y 就是變數
變數命名原則

不能與關鍵字相同

If, Else, Then, For, etc.
不能用英文、數字、跟底線(_)以外的東西
 在VB,大小寫都視為相同變數


P.S. 大部份語言大小寫會視為不同的變數
變數需要先宣告

宣告


Dim 變數名稱 As 變數型態
常見型態





整數 String
浮點數 Decimal
字元 Char
字串 String
布林 Boolean
練習

宣告一個整數變數a


可以指定初始值


Dim a As Integer
Dim a As Integer = 3
可以一次指定多個變數,用逗號(,)分隔

Dim a As Integer =3, b As String
常數

有些數字我希望在程式一開始的時候就決定,之後不
要變動他
例如:圓周率 = 3.14
 只打3.14 有時候會造成日後不易維護


常數宣告
Const 常數名稱 = 數值
 例如:Const Pi = 3.14


下次想要更精確的時候,可以直接在程式碼改成Const Pi =
3.1415,而不用每個用到的地方都需要改動
練習
在”方案總管”中 展開”Default.aspx”
 打開”Default.aspx.vb”
 選擇”(Page 事件)”
 選擇”Load”

在程式碼按右鍵加入”中斷點”
 使用Debug模式檢查

陣列(ARRAY)

方便做大量的運算


Ex. 登記成績
宣告陣列





Dim 陣列名稱(陣列元素個數) As 元數型態
Dim Score(5) As Integer
宣告了一個叫Score的陣列
這個陣列有5個元素
這陣列5個元素都是Integer的型態
陣列( CONT.)

使用陣列元素
陣列名稱(第幾個元素)
 範例:Score(4) = 3


注意
陣列元素從0開始算,以之前的例子,可以拿來使用的陣
列元素有:Score(0), Score(1), Score(2), Score(3) ,
Score(4)
 不能使用超過宣告陣列長度的元素

練習

我想要紀錄班上同學的名字?
班上同學有三個人,分別是:
 1號 Jack
 2號Joe
 3跟Jane

變數運算

算術運算子
“+”(加法), “-”(減法),”*”(乘法),”/”(除法), “\” (整數除法),
“Mod”(取餘數), “^”(指數)
 範例:Dim a As Integer = 7^2
 a = 49


字串連接



“&”
範例:Dim str As Integer = “Hello,” & “world”
Str = “Hello,world”
流程控制
範例
打分數網站
 0~50分: 你完蛋了!
 50~60分:差一點點而已
 60~80分:不錯嘛!
 80~100分:你太強了啦!

IF THEN ELSE

基本:
If 條件式成立 Then
do something
End If

進階
If 條件1成立 Then
do something
Else
do something
End If
IF THEN ELSE (CONT.)

多個條件:
If 條件1成立 Then
do something
ElseIf 條件2成立 Then
do something
ElseIf 條件3成立 Then
do something
Else
do something
End If
判斷式
等於 A = B
 不等於 A <> B
 小於 A < B
 大於 A > B
 大於等於 A >= B
 小於等於 A <= B

SELECT CASE

格式
Select Case 數值
Case 值1
do something
Case 值2, 值3, 值4 To 值5
do something
Case Else
do something
End Select
自我練習

乖寶寶答話機
如果是早上8點到下午5點之間:
顯示”我會乖乖上課的!”
 如果是下午5點到晚上7點之間:
顯示”去寫作業”
 如果是晚上7點到晚上10點之間:
顯示”嗯,我們來玩吧!”
 如果是晚上10點:
顯示”不能玩了,要睡覺了!”

迴圈
重複做某件事
 範例1

魔鬼補習班
 輸入成績
 高於80分才可以不用繼續考試


範例2

從1加到100
FOR LOOP

格式
For 變數 = 起始值 To 結束值 Step 步進值
do something
Next

範例
Dim i As Integer, sum As Integer = 0
For i = 1 To 100 Step 1
sum = sum + i
Next
先做再說 的DO LOOP
格式
 Do

do something
Loop While 條件式

Do
do something
Loop Until 條件式
第一個在條件式不成立時跳出迴圈
 第二個在條式成立時跳出迴圈

先檢查再做的DO LOOP
格式
 Do While 條件式

do something
Loop
 Do Until 條件式
do something
Loop
While 表式條件式不成立時離開
 Until 表式條件式不成立時繼續做

自我練習
連加法
 用上述的迴圈來計算1 加到 10 的結果

範例
矩陣 + loop
 大樂透 要簽哪幾個數字?

其他常用FUNCTION
使用亂數
Randomize()
Dim Value As Integer
Value = Int(Rnd()) * 100


Int() 將小數無條件捨去
副程式及函數

副程式無傳回值
Sub 副程式名稱(參數1名稱 As 參數2型態, 參數2名稱 As 參數2型態 )
do something
End Sub

函數有傳回值
Function 函數名稱(參數1名稱 As 參數2型態, 參數2名稱 As 參數2型態 )
do something
Return 傳回值
End Function

使用副程式
副程式名稱(傳入的參數們)
Call副程式名稱(傳入的參數們)

使用函數
value = 函數名稱(傳入的參數們)