230 likes | 364 Views
程式設計 Visual Basic 6.0. 許翠婷 E-mail : tsuiting@scu.edu.tw. 陣列( Array ). 共用同一變數名稱的許多項目所成的集合 以索引值( Index )來區分所有的項目 一維陣列、二維陣列 。。。。 60 維陣列 未指定之索引值均由 0 開始 Option Base {0|1}. 一維陣列. Dim Class(5) as Integer. Dim Class(1 to 5) as Integer. 二維陣列. Dim Class(1,2) as Integer.
E N D
程式設計Visual Basic 6.0 許翠婷 E-mail : tsuiting@scu.edu.tw
陣列(Array) • 共用同一變數名稱的許多項目所成的集合 • 以索引值(Index)來區分所有的項目 • 一維陣列、二維陣列 。。。。 60維陣列 • 未指定之索引值均由0 開始 • Option Base {0|1}
一維陣列 Dim Class(5) as Integer Dim Class(1 to 5) as Integer
二維陣列 Dim Class(1,2) as Integer Dim Class(1 to 3, 1 to 3) as Integer
動態陣列 • 宣告空陣列 • 要用的時候,再配置陣列項目總數 Dim Class() as Integer ReDim Class(2,2)
與陣列相關之函數 • LBound(陣列名,維數):傳回陣列的最小索引值,維數 省略時,指第一維。 • UBound(陣列名,維數):傳回陣列的最大索引值,維數 省略時,指第一維。 Dim Class(5 to 10 ,3 to 19) Print LBound(class) Print UBound(class,2) 5 19
控制項陣列 • 共用同一控制項名稱所成的同類控制項集合 • 以索引值(Index)來區分所有的項目 • 可共用程式碼
控制項陣列 • 必須在設計階段建立,不可在執行階段宣告。 • 限一維結構 • 沒有明確的上限 • 索引值不一定連續
Array_InOut.vbp • 需求功能 • 以 Enter 作為輸入元素之用 • 每輸入一個不為空白之元素時,標出序號,顯示在lblShow 中 • 當輸入滿五個元素時,即停止輸入 • 當按下顯示陣列,則重新顯示全部陣列內容 • 當按下結束,則離開程式執行
Array_InOut.vbp • 宣告全域變數 • Form_load 設定變數起始值 • Keypress 事件、KeyAscii屬性 • Enter Askii Code is 13 • Textbox Enable 屬性 • End 函數
Array_2Dim.vbp • 需求功能 • 顯示3位同學姓名、每人三科成績 • 按下計算總分即可列出3位同學總分 、
學生課堂練習(作業一)Array_2Dim.vbp • 需求功能 • 可輸入6位同學姓名、每人三科成績 • 輸入完畢後,按下計算總分,可列出三科成績總分 、
排序 • 氣泡排序法 將兩個相鄰的陣列資料作比較,再依排序之原則(由大到小、由小到大)進行資料互換。 A[2] A[3] A[1]
A[2] A[3] A[1] A[2] A[3] A[1] A[1] A[2] A[3] A[1] A[2] A[3]
排序 • 範例 將下列四個數字,由小到大排列之 5 12 2 6 • 想法: • 將數字放入陣列中 • 兩兩相比,若前者大於後者,則交換內容(每次挑出最大的在陣列右邊) • 直到僅剩最後兩個要比較為止 第一輪比較 5 12 2 6 5 2 12 6 5 2 6 12 第二輪比較 2 5 6 12 2 5 6 12 第三輪比較 2 5 6 12
陣列的搜尋(search) • 循序搜尋 • 以一個關鍵值(key value)逐一與陣列元素的值進行比較
排序 • 程式 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
排序 • 程式 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
作業 • P 7-36 第3題 • P 7-37 第5題