Chương 10: MẢNG – CHUỖI
lượt xem 15
download
Mảng là tập hợp các phần tử cùng kiểu dữ liệu được đánh thứ tự. Số thứ tự của mỗi phần tử được gọi là chỉ số. Mảng đối tượng điều khiển: Áp dụng cho đối tượng điều khiển cùng loại. Sử dụng mảng để không phải đặt quá nhiều tên và nhiều thủ tục xử lý sự kiện.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 10: MẢNG – CHUỖI
- Chương 10: MẢNG – CHUỔI 10.1 Mảng 10.2 Chuỗi ký tự
- 10.1 Mảng 1. Định nghĩa: Mảng là tập hợp các phần tử cùng kiểu dữ liệu được đánh thứ tự. Số thứ tự của mỗi phần tử được gọi là chỉ số VD : điểm toán của n học sinh hs1 → t1 Các đặc trưng : hs2 → t2 -Nhiều phần tử (hữu hạn) … -Cùng kiểu dữ liệu hsn → tn -Các phần tử phân biệt với nhau bằng chỉ số
- 2. Khai báo: Dim/Public/Static () As VD : Dim A(10) As Integer Khai báo mảng A gồm 11 phần tử : A(0), A(1), A(2), …, A(10) kiểu nguyên A Trong bộ nhớ … 0 0 0 … 0 … A(0) A(1) A(2) … A(10) Chú ý : Chỉ số phải có kiểu dữ liệu rời rạc, đếm được (nguyên, ký tự, …)
- Option Base 1 Dim/Public/Static (< Chỉ số lớn nhất>) As VD : Option Base 1 Dim A(10) As Boolean Khai báo mảng A gồm 10 phần tử : A(1), A(2), …, A(10) kiểu Boolean A Trong bộ nhớ … 0 0 0 … 0 … A(1) A(2) A(3) … A(10)
- Dim/Public/Static ( TO ) As VD : Dim A(“A” To “Z”) As Integer Khai báo mảng A gồm 26 phần tử : A(“A”), A(“B”), …, A(“Z”) kiểu nguyên A Trong bộ nhớ … 0 0 0 … 0 … A(1) A(2) A(3) … A(10)
- 3. Các thao tác trên mảng (phần tử mảng) •Truy xuất phần tử mảng : tên() VD : Dim A(1 To 5) As Integer … A(1)=3 A(2)=A(1)+1 … X=A(1)+A(2) …
- •Nhập, xuất giá trị mảng Gán trực tiếp … Dim A(1 To 5) As Integer … A(1)=1 A(2)=2 A(3)=3 A(4)=4 A(5)=5 ,Xuất giá trị ra TextBox … For i=1 To 5 Text1.text=Text1.text+" "+str(A(i)) Next I … (*)
- Sử dụng hàm InputBox() … n = InputBox("Cho biet so phan tu: ") For i = 1 To n a(i)= InputBox("A(" + Str(i) + ") :") Next I … Dim s as string For i = 1 To n do s = InputBox("A(" + Str(i) + ") :") loop until val(s)>0 a(i)=val(s) (*) Next I
- Sử dụng hàm Rnd() … For i = 1 To 5 A(i) = Int(100 * Rnd()) Next I …
- Lấy giá trị từ các TextBox … Dim A(0 To 5) As Integer … For i=0 to 5 A(i)=Text1(i) Next I … (*)
- • Label Xuất mảng • Msgbox • 1 Textbox • Form • For i= 1 to n – S = s+ “ “ + str(a(i)) – Next I – Lblkq.caption=s – Msgbox s – Txtkq.text=s – Print s
- •Sắp thứ tự các phần tử mảng theo giá trị Tăng A(i) A(j) → … Dim A(1 To n) As Integer 6 2 1 3 7 … 2 6 1 3 7 For i=1 To n-1 1 6 2 3 7 For j=i+1 to n If A(i) > A(j) then A(i) A(j) → Temp=A(i) A(i)=A(j) 6 2 3 7 A(j)=Temp End If 2 6 A(i) 3 A(j) 7 → Next j Next I 6 3 7 … 3 6 7 A(i) A(j) Temp 6 7 Temp=A(i) A(i)=A(j) … A(i) A(j) … A(j)=Temp
- Giảm A(i) A(j) → … Dim A(1 To n) As Integer 6 2 1 3 7 … 6 2 1 3 7 For i=1 To n-1 For j=i+1 to n 7 2 1 3 6 If A(i) < A(j) then A(i) A(j) → Temp=A(i) A(i)=A(j) 2 1 3 6 A(j)=Temp End If 3 1 2 6 Next j Next I A(i) A(j) → 6 1 2 3 … 1 2 3 2 1 3 3 1 A(i) 2 A(j) (*) 1 2
- 4. Ví dụ 1/ Kiểm tra các phần tử của mảng tạo thành cấp số cộng ? d=A(2)-A(1); A(i)=A(i-1)+d, ∀i=3,n 2/ Kiểm tra các phần tử của mảng tạo thành cấp số nhân ? s=A(2)/A(1); A(i)=A(i-1)*s, ∀i=3,n 3/ Kiểm tra mảng đối xứng ? (*) A(i)=A(n-i+1), ∀i=1,n 4/ Liệt kê số lượng và vị trí các phần tử là bội số của 3 trong mảng A(i) mod 3 = 0, ∀i=1,n\2 5/ In các số nguyên tố (chính phương) có trong mảng. Kiểm tra nếu A(i) là số NT → in 6/ In các phần tử khác nhau trong mảng. Sắp thứ tự tăng (giảm) In phần tử đầu tiên: A(1) In phầ tử thứ I nếu A(i)>A(i-1) 7/ In các phần tử của mảng thành 2 nhóm chẳn và lẻ. Ở mỗi nhóm tăng theo thứ tự Duyệt in mảng 2 lần Lần 1 in các số chẳn : A(i) mod 2 =0 Lần 1 in các số lẻ : A(i) mod 2 0 (*)
- 8/ Chèn thêm 1 phần tử vào mảng có thứ tự sao cho mảng vẫn còn có thứ tự. (*) VD : Mảng có thứ tự tăng : 2 4 6 7 10 15 Chèn phần tử : 9 2 4 6 7 10 15 1 2 3 4 5 6 7 9
- 5. Mảng đối tượng điều khiển Áp dụng cho đối tượng điều khiển cùng loại Sử dụng mảng để không phải đặt quá nhiều tên và nhiều thủ tục xử lý sự kiện
- Định nghĩa mảng đối tượng điều khiển •Tạo 1 đối tượng trong nhóm muốn định nghĩa mảng lên form, •Đặt tên (sẽ dùng làm tên mảng) •Thiết lập giá trị các thuộc tính cần thiết •Tạo các đối tượng tiếp theo bằng Copy - Paste Viết lệnh cho mảng đối tượng điều khiển •Thủ tục xử lý sự kiện có dạng Private sub _(Index As Integer) End sub •Thủ tục xử lý sự kiện được viết chung cho nhóm đối tượng định nghĩa là mảng, •Tham số Index được dùng để phân biệt phần tử nhận sự kiện đó
- Duyệt mảng đối tượng điều khiển •Đối với các đối tương có chỉ số liên tục For i = txtFields.LBound To txtFields.UBound txtFields(i).Text = "" Next •Đối với các đối tương có chỉ số liên tục Dim txt As TextBox … For Each txt In txtFields txt.Text = "" Next
- VD : Thiết kế giao diện •Định nghĩa mảng các OptionButton cho nhóm Shape với tên opShape •Định nghĩa mảng các OptionButton cho nhóm FillStyle với tên opFillStyle •Định nghĩa mảng các OptionButton cho nhóm Color với tên opColor.
- Private Sub opShape_Click(Index As Integer) Shape1.Shape = Index End Sub Private Sub opFillStyle_Click(Index As Integer) Shape1.FillStyle = Index End Sub Private Sub opColor_Click(Index As Integer) Select Case Index Case 0 Shape1.FillColor = vbRed Case 1 Shape1.FillColor = vbBlue Case 2 Shape1.FillColor = vbMagenta (*) Case 3 Shape1.FillColor = vbYellow End Select End Sub
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Kỹ thuật lập trình trên Visual Basic 2005
148 p | 182 | 55
-
GIÁO TRÌNH MICOSOFT VISUAL BASIC - Chương 5 Mảng – Chuỗi – Collection
13 p | 197 | 24
-
Bài giảng Lập trình căn bản: Giới thiệu tổng quan
5 p | 112 | 13
-
Giáo trình Lập trình C/C++ - CĐ Giao thông Vận tải TP.HCM
98 p | 61 | 12
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 10
20 p | 102 | 8
-
Giáo trình Lập trình căn bản: Phần 2 - Ths. Nguyễn Văn Linh
42 p | 74 | 8
-
Bài giảng Nhập môn lập trình: Buổi 10 - Tìm hiểu mảng 2 chiều và chuỗi ký tự
40 p | 72 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 10: Ứng dụng của ngăn xếp
24 p | 42 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn