Trường Đại học Công Nghệ Sài Gòn Khoa Công Nghệ Thông Tin
Giáo trình Lập trình căn bản – dành cho hệ TCCN Trang 23
3.3. Khai báo biến
Có hai chế độ khai báo và sử dụng biến trong VB. Đó là khai báo tường minh và khai báo
không tường minh.
3.3.1 Khai báo không tường minh
Trong chế độ khai báo không tường minh, chúng ta không cần phải khai báo biến trước
khi sử dụng. T bản thân hthống VB s cấp phát biến khi gặp một tên biến mới. Ví dụ trong
hàm MySqr dưới đây, biến TempVal được sử dụng chưa khai báo trước.
Function MySqr(num)
TempVal = Abs(num)
MySqr = Sqr(TempVal)
End Function
Khi đó, h thống s tđộng tạo biến TempVal khi gặp dòng lệnh này. Đầu tiên, ai cũng
cảm thấy thích chế độ khai báo sử dụng biến không tường minh như thế. Tuy nhiên, chúng
ta, những lập trình viên chuyên nghiệp, không nên sử dụng chế độy vì đôi khis gây ra
nhiều lỗi không phát hiện nổi do đánh nhầm tên biến. Thật vậy, cũng với hàm như trên nhưng
nếu chúng ta nhập vào như sau:
Function MySqr(num)
TempVal = Abs(num)
MySqr = Sqr(TemVal)
End Function
Thoạt nhìn th nghĩ hai hàm trên đây giống nhau, k thật kết qu của hàm th hai
lại luôn 0. Đó chính biến TempVal đã b nhập sai dòng lệnh th 2 TemVal. Khi
ấy, VB s t động tạo ra một biến mới có tên là TemVal và có giá trmặc nhiên là 0. Điều này
s cho kết qu của hàm luôn là 0. Trong những chương trình phức tạp, có rất nhiều dòng lệnh
thì việc phát hiện ra những lỗi như thế là rất khó.
3.3.2 Khai báo tường minh
Để tránh những lỗi chương trình xảy ra do nhập sai tên biến, chúng tathsử dụng chế
độ khai báo tường minh. Với chế độ này, mỗi biến sdụng cần phải được khai báo trước.
Những biến nào chưa khai báo, VB s báo lỗi khi thực thi chương trình. Chúng ta ths
dụng một trong hai cách dưới đây để sử dụng chế độ khai báo biến tường minh:
Cách 1:
Trong cửa slệnh, đặt dòng lệnh sau đây Option Explicit đầu phần
Declarations của màn hình giao tiếp (Form), lớp (Class) hay thư viện (Module).
Cách 2:
Trường Đại học Công Nghệ Sài Gòn Khoa Công Nghệ Thông Tin
Giáo trình Lập trình căn bản – dành cho hệ TCCN Trang 24
Chọn Tools\Options\Editor sau đó chọn Require Variable Declaration. T thời
điểm này tr đi, các màn hình lớp hay thư viện được tạo ra s được mặc nhiên là có sẵn dòng
lệnh Option Explicit trong phần Declaration. Với các màn hình giao tiếp, lớp hay thư viện đã
được tạo trước đó, chúng ta sphải t thêm vào dòng lệnh này như cách 1.
Tu theo phạm vi biến cần sdụng, chúng ta th dùng các cấu trúc lệnh sau để khai
báo biến. Để khai báo biến cục bộ của một th tục, hàm, màn hình (Form) hay thư viện chúng
ta có thdùng cú pháp:
Dim Tên_biến [As Kiểu dữ liệu]
Để khai báo các biến toàn cục cho toàn b ứng dụng. Các biến toàn cục thường được
khai báo trong một thư viện.
Puclic Tên_biến [As Kiểu_dữ_liệu]
Tên biến là một chuỗi ký t tho các điều kiện sau:
Bắt đầu bằng t. Tu thuộc vào kiu dliệu của biến, người lập trình thường dùng
các ký ttrong b pháp Hungary làm các t đầu (tiền t) cho các tên biến. Các tiền
t này sgiúp nhận biết một biến kiểu dliệu trong quá trình lập trình. d với
biến Socong có kiểu dữ liệu s nguyên thường được đặt tên nSocong. Phần dưới đây s
trình bày các tiền t trong b pháp Hungary thường được dùng.
Các ký t có trong tên biến chth là cáct ch cái, t s hay ký t (_). Tuy
nhiên, VB cũng cho phép ký t cuối cùng của tên biến (hậu t) là ký t đặc biệt (xác định
kiểu dữ liệu) như ký t %, #, $... (Xem thêm phần Các kiểu dữ liệu).
Tên biến dài không quá 255 ký t.
Không trùng với các tên biến khác trong cùng phạm vi khai báo như th tục, hàm
(Sub, Function), màn hình (Form), thư viện (Module).
Không được trùng với các từ khóa của Visual Basic.
Ví ddòng lệnh sau khai báo hai biến nSocong va fDongia
Dim nSocong As Integer, fDongia As Single
Trong quá trình hoạt động mỗi biến s một kiểu dliệu nào đó. Kiểu dliệu s quy
định các giá trs được lưu tr trong biến.
4. Hằng
4.1. Khái niệm
Giống như tên gọi, hằng đại lượng giá trkhông th thay đổi trong quá trình thực
hiện chương trình.
4.2. Khai báo hằng
Chúng ta thdùng hằng để thay thếnhững giá trị không gợi nh trong chương trình.
d, thay vì dùng giá tr khó hiểu 3.1416 trong các lệnh tính chu vi, diện tích một hình tròn
chúng ta th khai báo một hằng với tên gợi nh Pi bằng 3.1416 sau đó dùng hằng Pi
này để tính chu vi và diện tích hình tròn.
Trường Đại học Công Nghệ Sài Gòn Khoa Công Nghệ Thông Tin
Giáo trình Lập trình căn bản – dành cho hệ TCCN Trang 25
Để khai báo một hằng, chúng ta dùng cấu trúc sau:
Const Tên_hằng [As <kiểu dữ liệu>] = <Biểu thức>
Ví dụ:
Const A = 5
Const B As Single = A/2
Đoạn lệnh trên định nghĩa hai hằng s, hằng s A giá tr 5, hằng s B kiu s thực
và có giá tr 2.5.
Để phân biệt với các hằng kiu s, các giá trhằng chuỗi phải được biểu diễn trong cặp
ký t ‘ ‘ hay “ “ và hằng kiểu ngày tháng phải được đặt trong cặp ký t # #.
Const TenDV = “Trung Tam Tin Hoc – DHKHTN”
Const NgayBatDau = #10/24/86#
5. Mảng
Mảng là tập hợp các phần tử có cùng một kiểu dữ liệu và được chứa trong một biến.
Dùng mảng sẽ làm cho chương trình đơn giản và gọn hơn vì ta thsử dụng vòng
lặp. Mảng sẽ biên trên biên dưới, trong đó các thành phần của mảng là liên tiếp
trong khoảng giữa hai biên này.
hai loại biến mảng: mảng chiều dài cđịnh và mảng chiều dài thay đổi lúc
thi hành.
Phần mảng sẽ được đề cập chi tiết ở môn Lập trình nâng cao.
6. Cú pháp lập trình
Ngoài các pháp lệnh, hàm, phép toán, khi viết chương trình cần tôn trọng pháp lập
trình sau:
Mỗi lệnh phải viết trên một dòng bất kể ngắn hay dài, không được xuống dòng khi chưa
hết lệnh.
Muốn viết nhiều lệnh trên một dòng phải phân cách các lệnh bằng dấu hai chấm (:).
Dòng lệnh có màu đỏ là dòng lệnh sai cần sửa lỗi.
Trường Đại học Công Nghệ Sài Gòn Khoa Công Nghệ Thông Tin
Giáo trình Lập trình căn bản – dành cho hệ TCCN Trang 26
Chương 4
Các lệnh và hàm cơ bản
1. Lệnh rẽ nhánh
1.1. Lệnh If
o Một dòng lệnh:
If <điều kiện> Then <dòng lệnh>
o Nhiều dòng lệnh:
If <điều kiện> Then
Các dòng lệnh
End If
Ý nghĩa câu lệnh:
Các dòng lệnh hay dòng lệnh sđược thi hành nếu như điều kiện đúng. Còn nếu như
điều kiện là sai thì câu lệnh tiếp theo sau cấu trúc If ... Then được thi hành.
o Dạng đầy đủ: If ... Then ... Else
If <điều kiện 1> Then
[Khối lệnh 1]
ElseIf <điều kiện 2> Then
[Khối lệnh 2]...
[Else
[Khối lệnh n]]
End If
VB sẽ kiểm tra các điều kiện, nếu điều kiện nào đúng thì khối lệnh tương ứng sẽ được thi
hành. Ngược lại nếu không điều kiện nào đúng thì khối lệnh sau từ khóa Else sẽ được thi
hành.
Ví dụ:
If (TheColorYouLike = vbRed) Then
MsgBox "You are a lucky person"
ElseIf (TheColorYouLike = vbGreen) Then
MsgBox "You are a hopeful person"
ElseIf (TheColorYouLike = vbBlue) Then
MsgBox "You are a brave person"
ElseIf (TheColorYouLike = vbMagenta) Then
MsgBox "You are a sad person"
Trường Đại học Công Nghệ Sài Gòn Khoa Công Nghệ Thông Tin
Giáo trình Lập trình căn bản – dành cho hệ TCCN Trang 27
Else
MsgBox "You are an average person"
End If
1.2. Lệnh Select Case
Trong trường hợp quá nhiều các điều kiện cần phải kiểm tra, nếu ta dùng cấu trúc rẽ
nhánh IfThen thì đoạn lệnh không được trong sáng, khó kiểm tra, sửa đổi khi sai sót.
Ngược lại với cấu trúc SelectCase, biểu thức điều kiện sẽ được tính toán một lần vào đầu
cấu trúc, sau đó VB sẽ so sánh kết quả với từng trường hợp (Case). Nếu bằng thi hành
khối lệnh trong trường hợp (Case) đó.
Select Case <biểu thức kiểm tra>
Case <Danh sách kết quả biểu thức 1>
[Khối lệnh 1]
Case <Danh sách kết quả biểu thức 2>
[Khối lệnh 2]
.
.
.
[Case Else
[Khối lệnh n]]
End Select
Mỗi danh sách kết quả biểu thức sẽ chứa một hoặc nhiều giá trị. Trong trường hợp
nhiều giá trị thì mỗi giá trị cách nhau bởi dấu phẩy (,). Nếu có nhiều Case cùng thỏa điều kiện
thì khối lệnh của Case đầu tiên sẽ được thực hiện.
Ví dụ của lệnh rẽ nhánh If…Then ở trên có thể viết như sau:
Select Case TheColorYouLike
Case vbRed
MsgBox "You are a lucky person"
Case vbGreen
MsgBox "You are a hopeful person"
Case vbBlue
MsgBox "You are a brave person"
Case vbMagenta
MsgBox "You are a sad person"
Case Else
MsgBox "You are an average person"
End Select
Toán tử Is & To