Visual Basic 6.0
Nguyễn Đăng Quang
Chương 4
Các cấu trúc điều khiển
Cấu trúc IF
Dạng 1 (một dòng)
if <Điều kiện đúng> then <Lệnh>
(Chỉ có một lệnh viết sau then)
Dạng 2 (nhiều dòng)
if <Điều kiện đúng> then
Max = a
If Max < b then max = b
<Lệnh>
End if
(Có nhiều lệnh viết sau then)
Nguyễn Đăng Quang UTE-HCM 2005
Cấu trúc IF…
Dạng 3
if <ĐK 1> then
<Lệnh 1>
Elseif <ĐK 2> then
Case 2
VnDay = “Thứ hai”
Case 3
VnDay = “Thứ ba”
Case 4
VnDay = “Thứ tư”
Case 5
VnDay = “Thứ năm”
Case 6
VnDay = “Thứ sáu”
Case 7
VnDay = “Thứ bảy”
End select
Nguyễn Đăng Quang UTE-HCM 2005
Lệnh lặp For..Next
For <biến> = <tđ> to <tc> [ step <b> ]
<lệnh>
Next <Biến>
<lệnh> được thực hiện từ <trị đầu> đến <trị cuối>,
giá trị của <biến> được thay đổi theo <bước tăng>
S=0
For i = 1 to 10
s=s+i
Next i
S=0
For i = 1 to 10 step 2
s=s+i
nào điều kiện sai
i=1
Do while i 10
Nguyễn Đăng Quang UTE-HCM 2005
Chương trình con
Có hai loại chương trình con trong Visual
Basic, đó là
Sub (thủ tục)
và
Thủ tục xử lý sự kiện
Được khai báo tự động bởi VB
Tên có dạng <đối tượng>_<sự kiện>
Private sub Tinh(a as Integer, b as Integer)
lblTong.Caption = a+b
End sub
Private sub CmdTinh_Click()
so1 = val(txtSo1.Text)
so2 = val(txtSo2.Text)
Tinh so1, so2
End sub
Nguyễn Đăng Quang UTE-HCM 2005
Chương trình con function
Loại chương trình con luôn luôn trả về giá trị
thông qua tên của nó
Private function Tinh(so1 as Integer, so2 as Integer)
Tinh = so1+so2
End function
Private sub CmdTinh_Click()
so1 = val(txtSo1.Text)
Chương 5
Mảng – chuỗi
Đặt vấn đề
Tính tổng 3 biến số nguyên:
Khai báo
Dim a as integer, b as integer, c as integer, t as integer
t=a+b+c
a
10
b
+
-9
c
+
23
t
24
Nguyễn Đăng Quang UTE-HCM 2005
a(1)
t
a
b
c
…
t
…
t
t
a(2) a(3)
t = t+a(1)
t = t+a(2)
t
t
t = t+a(3)
17
-5
(1)
(2)
(3)
(4)
(5)
Nguyễn Đăng Quang UTE-HCM 2005
Khai báo mảng
Dim/Public <Tên>(<Số phần tử>) As <Kiểu>
Ví dụ:
Dim A(10) As Integer
Dim Hoten(50) As String
Phần tử đầu tiên có chỉ số 0
Nguyễn Đăng Quang UTE-HCM 2005
Khai báo mảng với chỉ số bắt
found = false
for i = 1 to n
if a(i)=x then
found = true
exit for
end if
Next i
Nguyễn Đăng Quang UTE-HCM 2005
Các giải thuật thường dùng
Sắp xếp tăng/giảm
for i = 1 to n-1 do
for j=i+1 to n do
if a(i) > a(j) then
swap a(i), a(j)
end if
next
next
Nguyễn Đăng Quang UTE-HCM 2005