Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
676,8 KB
Nội dung
2323 2.2 Mảng ñộng Written by: Dương Thành Phết Mảng ñộng là mảng không xác ñịnh rõ số phần tử khi khai báo. http://www.thayphet.net Cú pháp khai báo: [Dim | Private | Public | Static] Tên_mng() As Kiu Ví dụ: Dim St() As String Cấp phát bộ nhớ: ReDim Tên_mng(s phn t) As Kiu Ví dụ : Dim St() As String ReDim St(9) This is trial version www.adultpdf.com 2424 Written by: Dương Thành Phết Khi ñã khai báo và cấp phát vùng nhớ cho mảng ñộng, khi cần ta vẫn có thể thay ñổi lại kích thước của mảng bằng lệnh ReDim http://www.thayphet.net Ví du : Dim MyArray() As Integer ' Khai báo mảng ñộng. Redim MyArray(5) ' cấp phát 5 phần tử. For i = 1 To 5 ' Lặp 5 lần. MyArray(i) = i Next i Redim MyArray(10) For i = 1 To 10 MyArray(i) =i Next i This is trial version www.adultpdf.com 2525 Written by: Dương Thành Phết Mặc ñịnh, khi dùng lệnh Redim ñể cấp phát lại số phần tử trong mảng thì các giá trị cũ sẽ bị mất ñi. ðể giữ lại các giá trị cho các phần tử cũ trong mảng ta phải dùng thêm từ khoá Preserve http://www.thayphet.net Ví du : Dim MyArray() As Integer ' Khai báo mảng ñộng. Redim MyArray(5) ' cấp phát 5 phần tử. For i = 1 To 5 ' Lặp 5 lần. MyArray(i) = i khởi tạo giá trị cho mảng. Next i … Redim Preserve MyArray(15) 'cấp phát lại 15 pt cho mảng nhưng vẫn giữ lại ‘các giá trị cũ của 5 phần tử ñầu. This is trial version www.adultpdf.com 2626 2.3 Mảng ña chiều Written by: Dương Thành Phết Visual Basic cho phép khai báo và sử dụng mảng ña chiều. Ví dụ khai báo mảng 2 chiều, mỗi chiều 10 phần tử. Dim MatrixA(9, 9) As Double Ta cũng có thể xác ñịnh rõ ràng các chỉ số trên, chỉ số dưới của mảng ña chiều như ví dụ sau ñây: Dim MatrixA(1 To 10, 1 To 10) As Double http://www.thayphet.net This is trial version www.adultpdf.com 2727 Written by: Dương Thành Phết Lưu ý : Mỗi một phần tử của mảng chiếm một vùng nhớ nhất ñịnh, do ñó, ñể tiết kiệm bộ nhớ, ta chỉ nên khai báo mảng với số phần tử vừa ñủ. Không thể tạo mảng có quá 2.147.483.647 phần tử. Vì có thể dẫn ñến lỗi “Out Of Memory” khi chạy chương trình. http://www.thayphet.net This is trial version www.adultpdf.com 2828 2.4 Các xử lý trên mảng Written by: Dương Thành Phết Hàm v mng http://www.thayphet.net Split(Chuỗi [, Dấu phân cách [, số phần tử ]]): Cắt 1 chuỗi thành một mảng các chuổi con. Join(Mảng [, Dấu phân cách]): Trả về chuổi kết hợp các phần tử trong 1 mảng VD: Dim A() = Split(txtNhap.Text, "-") txtKetqua.Text = Join(A, "/") This is trial version www.adultpdf.com 2929 Written by: Dương Thành Phết Tìm kim các phn t tha ñiu kin cho trc For i = 0 To n-1 IF A(i) = n Then Thc hin các x lý End If Next http://www.thayphet.net This is trial version www.adultpdf.com 3030 Written by: Dương Thành Phết http://www.thayphet.net Tìm giá trị nhỏ nhất/ lớn nhất và vị trí Dim gtnn as Integer, vtgtnn as Integer gtnn=A(0) vttnn=0 For i = 0 To n-1 If( A(i) < gtnn then gtnn=A(i) vtgtnn=i End If Next This is trial version www.adultpdf.com 3131 Written by: Dương Thành Phết http://www.thayphet.net d. Tính tổng của các phần tử trong mảng. Dim Tong as Integer =0 For i = 0 to n-1 Tong=Tong + A(i) Next Ghi chú: Tương tự ta có yêu cầu tính toán khác This is trial version www.adultpdf.com 3232 Written by: Dương Thành Phết http://www.thayphet.net Ví dụ: Tạo project xử lý mảng số nguyên Yêu cầu: Tạo 5 Text Box chứa 5 số nguyên ngẫu nhiên (từ 1 ñến 100) khi click vào nút nhập. Tìm giá trị số lớn nhất và vị trí Tính tổng giá trị các phần tử Các Textbox luôn ReadOnly This is trial version www.adultpdf.com