VB真好玩
VB 2010 Express 範例程式
Visual Studio 2010 Express ISO檔 (1.8GB)
請在VB2010 Express下練習編譯執行下列範例
example -01
Module Module1 '逗號後面表示為註解
Sub Main() 'VB Console Application (控制台應用程式的主程式開始)
Console.WriteLine("Hello Robot!") '印出字串
Console.Write("Press any key to accomplish.") '提示使用者按enter鍵結束
Console.ReadLine() '讀取使用者鍵盤輸入
End Sub '(控制台應用程式的主程式結束)
End Module
example -02 Randomize 函式 Rnd 函式
Module Module1 '逗號後面表示為註解
Sub Main() 'VB Console Application (控制台應用程式的主程式開始)
Dim a As Integer '宣告一個整數integer的變數variable
Randomize() ' Randomize 將使用 Timer 函式傳回的值做為新的種子值,來初始化亂數產生器。
a = CInt(Int((100 * Rnd()) + 1)) '計算, 取 1-100 的亂數
Console.WriteLine("The Random Number is " & a & ".") '印出字串
Console.Write("Press any key to accomplish.") '提示使用者按enter鍵結束
Console.ReadLine() '讀取使用者鍵盤輸入
End Sub '(控制台應用程式的主程式結束)
End Module
example -03 For...Next 迴圈
Module Module1 '逗號後面表示為註解
Sub Main() 'VB Console Application (控制台應用程式的主程式開始)
Dim a As Integer '宣告一個整數integer的變數variable
Dim n As Integer
Randomize() ' Randomize 將使用 Timer 函式傳回的值做為新的種子值,來初始化亂數產生器。
For n = 1 To 10 Step 1 'for 迴圈loop , n=1開始, 當n<=10時, 執行 loop 內的指令, 執行完畢 n+1
a = CInt(Int((100 * Rnd()) + 1)) '計算, 取 1-100 的亂數
Console.WriteLine("The Random Number is " & a & ".") '印出字串
Next
Console.Write("Press any key to accomplish.") '提示使用者按enter鍵結束
Console.ReadLine() '讀取使用者鍵盤輸入
End Sub '(控制台應用程式的主程式結束)
End Module
example -04 If...Then...Else 條件判斷
Module Module1 '逗號後面表示為註解
Sub Main() 'VB Console Application (控制台應用程式的主程式開始)
Dim a As Integer '宣告一個整數integer的變數variable
Dim n As Integer
Randomize() ' Randomize 將使用 Timer 函式傳回的值做為新的種子值,來初始化亂數產生器。
For n = 1 To 10 Step 1 'for 迴圈loop , n=1開始, 當n<=10時, 執行 loop 內的指令, 執行完畢 n+1
a = CInt(Int((100 * Rnd()) + 1)) '計算, 取 1-100 的亂數
Console.WriteLine("The " & n & "th Random Number is " & a & ".") '印出第n個隨機數的字串
'//////////////////////////////////////////////////////////////////////////////////////////////////
'//模擬跟線自走車的演算法
'//////////////////////////////////////////////////////////////////////////////////////////////////
If (a < 45) Then ' if 條件判斷
'Console.WriteLine("Light Sensor: " & a & ", Detect: BLACK, Left Power: 80, Right Power: 50 ")
Console.WriteLine("光感值: " & a & ", 偵測到黑色區域, 左輪Power輸出: 80, 右輪Power輸出: 50 ")
End If 'if 條件判斷結束
If (a > 45) Then ' if 條件判斷
'Console.WriteLine("Light Sensor: " & a & ", Detect: WHITE, Left Power: 50, Right Power: 80 ")
Console.WriteLine("光感值: " & a & ", 偵測到白色區域, 左輪Power輸出: 50, 右輪Power輸出: 80 ")
End If 'if 條件判斷結束
If (a = 45) Then 'if 條件判斷
'Console.WriteLine("Light Sensor: " & a & ", Detect: EDGE, Left Power: 80, Right Power: 80 ")
Console.WriteLine("光感值: " & a & ", 偵測到黑線邊緣, 左輪Power輸出: 80, 右輪Power輸出: 80 ")
End If 'if 條件判斷結束
'//////////////////////////////////////////////////////////////////////////////////////////////////
Next 'for 迴圈loop 程式碼區塊結束
Console.Write("Press any key to accomplish.") '提示使用者按enter鍵結束
Console.ReadLine() '讀取使用者鍵盤輸入
End Sub '(控制台應用程式的主程式結束)
End Module
example -05
Module Module1 '逗號後面表示為註解
Sub Main() 'VB Console Application (控制台應用程式的主程式開始)
Dim a As Integer '宣告一個整數integer的變數variable
Dim b, loops As Integer
Dim n As Integer
Randomize() ' Randomize 將使用 Timer 函式傳回的值做為新的種子值,來初始化亂數產生器。
'模擬光感測器讀值30次
loops = 0 '紀錄自走車完成迴圈數--變數歸零
For n = 1 To 30 Step 1 'for 迴圈loop , n=1開始, 當n<=30時, 執行 loop 內的指令, 執行完畢 n+1
a = CInt(Int((100 * Rnd()) + 1)) '計算, 取 1-100 的亂數
Console.WriteLine("The " & n & "th Random Number is " & a & ".") '印出第n個隨機數的字串
'//////////////////////////////////////////////////////////////////////////////////////////////////
'//模擬跟線自走車的演算法
'//////////////////////////////////////////////////////////////////////////////////////////////////
If (n Mod 5 = 0) Then 'n除以5的餘數等於0, n 為 5 的倍數
b = 30 '表示第二顆感測器看到黑色起跑線
Else
b = 60 '表示第二顆感測器看到白色區域 (奔跑中), n 不為 5 的倍數
End If
If (b < 45) Then '表示第二顆感測器看到黑色起跑線
loops = loops + 1 '紀錄自走車完成迴圈數--變數+1更新
Console.WriteLine("Run " & loops & "th Loop..")
End If
If (loops >= 5) Then '表示自走車已完成5圈
Console.WriteLine("Five-loop Task Completed!")
Exit For
End If
If (a < 45) Then ' if 條件判斷
'Console.WriteLine("Light Sensor: " & a & ", Detect: BLACK, Left Power: 80, Right Power: 50 ")
Console.WriteLine("光感值: " & a & ", 偵測到黑色區域, 左輪Power輸出: 80, 右輪Power輸出: 50 ")
End If 'if 條件判斷結束
If (a > 45) Then ' if 條件判斷
'Console.WriteLine("Light Sensor: " & a & ", Detect: WHITE, Left Power: 50, Right Power: 80 ")
Console.WriteLine("光感值: " & a & ", 偵測到白色區域, 左輪Power輸出: 50, 右輪Power輸出: 80 ")
End If 'if 條件判斷結束
If (a = 45) Then 'if 條件判斷
'Console.WriteLine("Light Sensor: " & a & ", Detect: EDGE, Left Power: 80, Right Power: 80 ")
Console.WriteLine("光感值: " & a & ", 偵測到黑線邊緣, 左輪Power輸出: 80, 右輪Power輸出: 80 ")
End If 'if 條件判斷結束
'//////////////////////////////////////////////////////////////////////////////////////////////////
Next 'for 迴圈loop 程式碼區塊結束
Console.Write("Press any key to accomplish.") '提示使用者按enter鍵結束
Console.ReadLine() '讀取使用者鍵盤輸入
End Sub '(控制台應用程式的主程式結束)
End Module
機器人跟線與數線的設計 http://dyu0001.blogspot.com/2011/11/blog-post_09.html , 流程圖