Presentation is loading. Please wait.

Presentation is loading. Please wait.

程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0許翠婷

Similar presentations


Presentation on theme: "程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0許翠婷"— Presentation transcript:

1 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0許翠婷 E-mail : tsuiting@scu.edu.tw tsuiting@scu.edu.tw

2 陣列( Array ) 共用同一變數名稱的許多項目所成的集 合 以索引值( Index )來區分所有的項目 一維陣列、二維陣列 。。。。 60 維陣 列 未指定之索引值均由 0 開始 Option Base {0|1}

3 一維陣列 Dim Class(5) as Integer Class(0)Class(1)Class(2)Class(3)Class(4)Class(5) Dim Class(1 to 5) as Integer Class(1)Class(2)Class(3)Class(4)Class(5)

4 二維陣列 Dim Class(1,2) as Integer Dim Class(1 to 3, 1 to 3) as Integer Class(0,0)Class(0,1)Class(0,2) Class(1,0)Class(1,1)Class(1,2) Class(1,1)Class(1,2)Class(1,3) Class(2,1)Class(2,2)Class(2,3) Class(3,1)Class(3,2)Class(3,3)

5 動態陣列 1. 宣告空陣列 2. 要用的時候,再配置陣列項目總數 Dim Class() as Integer ReDim Class(2,2)

6 與陣列相關之函數 LBound ( 陣列名, 維數 ):傳回陣列的最小 索引值, 維數 省略時,指第一維。 UBound ( 陣列名, 維數 ):傳回陣列的最大 索引值, 維數 省略時,指第一維。 Dim Class(5 to 10,3 to 19) Print LBound(class) Print UBound(class,2) 5 19

7 控制項陣列 共用同一控制項名稱所成的同類控制項 集合 以索引值( Index )來區分所有的項目 可共用程式碼

8 必須在設計階段建立,不可在執行階段 宣告。 限一維結構 沒有明確的上限 索引值不一定連續 控制項陣列

9 月娘轉不停

10 Array_InOut.vbp 需求功能 1. 以 Enter 作為輸入元素之用 2. 每輸入一個不為空白之元素時,標出序號,顯 示在 lblShow 中 3. 當輸入滿五個元素時,即停止輸入 4. 當按下顯示陣列,則重新顯示全部陣列內容 5. 當按下結束,則離開程式執行

11 Array_InOut.vbp 宣告全域變數 Form_load 設定變數起始值 Keypress 事件、 KeyAscii 屬性 –Enter  Askii Code is 13 Textbox Enable 屬性 End 函數

12 作業

13 Array_2Dim.vbp 需求功能 1. 顯示 3 位同學姓名、每人三科成績 2. 按下計算總分即可列出 3 位同學總分 、

14 學生課堂練習 ( 作業一 ) Array_2Dim.vbp 需求功能 1. 可輸入 6 位同學姓名、每人三科成績 2. 輸入完畢後,按下計算總分,可列出三科 成績總分 、

15 計算機

16 數字鍵陣列之判斷 Private Sub cmdNum_Click(index As Integer) If dot = True Then temp_val = Val(Str(temp_val) + "." + Str(index)) dot = False Else temp_val = Val(Str(temp_val) + Str(index)) End If txtBoard.Text = Str(temp_val) End Sub 小數點之判斷 Private Sub cmdDot_Click() dot = True End Sub

17 + - = 號之判斷 計算機 Private Sub cmdSub_Click() Select Case opt Case “ + ” : total = total + temp_val Case “ - ” : total = total - temp_val Case else: total = temp_val End Select txtBoard.Text = Str$(total) temp_val = 0 opt = “ - ” End Sub

18 排序 氣泡排序法 將兩個相鄰的陣列資料作比較,再依排序之 原則(由大到小、由小到大)進行資料互換。 A[1] A[2]A[3]

19 A[1] A[2]A[3] A[1] A[2]A[3] A[1] A[2] A[3] A[1] A[2] A[3]

20 範例 將下列四個數字,由小到大排列之 51226 想法: 1. 將數字放入陣列中 2. 兩兩相比,若前者大於後者,則交換內容(每次 挑出最大的在陣列右邊) 3. 直到僅剩最後兩個要比較為止 排序 第一輪比較 51226 52126 52612 第二輪比較 25612 第三輪比較 25612

21 陣列的搜尋 (search) 循序搜尋 – 以一個關鍵值 (key value) 逐一與陣列元素的 值進行比較

22 排序與搜尋

23

24 程式 排序 Option Base 1 Dim MyArray(4) as integer Dim i as integer, j as integer, temp as integer MyArray(1)=5 : MyArray(2)=12 : MyArray(3)=2 : MyArray(4)=6 i=1:j=1:temp=0

25 程式 排序 For i = UBound(MyArray)-1 to 1 step -1 For j = 1 to I If MyArray(j) > MyArray(j+1) Then temp = MyArray(j) MyArray(j) = MyArray(j+1) MyArray(j+1) = temp End If Next j Next i

26 作業 P 7-36 第 3 題 P 7-37 第 5 題

27 作業 完成計算機

28 Val( 字串 ) :將字串轉成數值 Str( 數值 ) :將數值轉成字串 Left( 字串,N) :取字串中從左算起第 N 個 字元,含正負號 len ( 字串 ) Sqr( 數值 ) :開平方根


Download ppt "程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0 程式設計 Visual Basic 6.0 Visual Basic 6.0 Visual Basic 6.0許翠婷"

Similar presentations


Ads by Google