
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 156
Chương 7
BIỂU THỨC VB
Chương 7 : Biểu thức VB
MÔN TIN HỌC
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 157
Tổng quát về biểu thức VB
Ta đã biết trong toán học công thức là phương tiện miêu tả 1 qui trình
tính toán nào đó trên các số.
Trong VB (hay ngôn ngữ lập trình khác), ta dùng biểu thức để miêu tả
qui trình tính toán nào đó trên các dữ liệu ⇒biểu thức cũng giống như
công thức toán học, tuy nó tổng quát hơn (xử lý trên nhiều loại dữ liệu
khác nhau) và phải tuân theo qui tắc cấu tạo khắt khe hơn công thức
toán học.
Để hiểu được biểu thức, ta cần hiểu được các thành phần của nó :
Các toán hạng : các biến, hằng dữ liệu,...
Các toán tử tham gia biểu thức : +,-,*,/,...
Qui tắc kết hợp toán tử và toán hạng để tạo biểu thức.
Qui trình mà máy dùng để tính trị của biểu thức.
Kiểu của biểu thức là kiểu của kết quả tính toán biểu thức.
Chương 7 : Biểu thức VB

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 158
Các biểu thức cơ bản
Biểu thức cơ bản là phần tử nhỏ nhất cấu thành biểu thức bất kỳ.Một
trong các phần tử sau được gọi là biểu thức cơ bản :
Biến,
Hằng gợi nhớ,
Giá trị dữ liệu cụ thể thuộc kiểu nào đó (nguyên, thực,..)
Lời gọi hàm,
1 biểu thức được đóng trong 2 dấu ().
Qui trình tạo biểu thức là qui trình đệ qui : ta kết hợp từng toán tử với các
toán hạng của nó, trong đó toán hạng hoặc là biểu thức cơ bản hoặc là
biểu thức sẵn có (đã được xây dựng trước đó và nên đóng trong 2 dấu ()
để biến nó trở thành biểu thức cơ bản).
Chương 7 : Biểu thức VB
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 159
Các toán tử
Dựa theo số toán hạng tham gia, có 2 loại toán tử thường dùng nhất :
toán tử 1 ngôi : chỉ cần 1 toán hạng. Ví dụ toán tử '-' để tính phần
âm của 1 đại lượng.
toán tử 2 ngôi : cần dùng 2 toán hạng. Ví dụ toán tử '*' để tính tích
của 2 đại lượng.
VB thường dùng các ký tự đặc biệt để miêu tả toán tử. Ví dụ :
toán tử '+' : cộng 2 đại lượng.
toán tử '-' : trừ đại lượng 2 ra khỏi đại lượng 1.
toán tử '*' : nhân 2 đại lượng.
toán tử '/' : chia đại lượng 1 cho đại lượng 2...
Trong vài trường hợp, VB dùng cùng 1 ký tự đặc biệt để miêu tả nhiều
toán tử khác nhau. Trong trường hợp này, ngữ cảnh sẽ được dùng để giải
quyết nhằm lẫn.
Ngữ cảnh thường là kiểu của các toán hạng tham gia hoặc do thiếu toán
hạng thì toán tử được hiểu là toán tử 1 ngôi.
Chương 7 : Biểu thức VB

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 160
Các toán tử (tt)
Dựa theo độ ưu tiên của các toán tử trong qui trình tính toán biểu thức, có
3 loại toán tử :
toán tử số học: có độ ưu tiên cao nhất trong qui trình tính toán biểu
thức.
toán tử so sánh : có độ ưu tiên kế tiếp.
toán tử luận lý và bitwise : có độ ưu tiên thấp nhất.
Trong các slide sau, chúng ta sẽ trình bày chi tiết các toán tử VB thuộc
từng loại trên.
Chương 7 : Biểu thức VB
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 161
Các toán tử số học
Tùy thuộc kiểu của các toán hạng tham gia mà ta được phép dùng những
toán tử nào trên chúng ⇒số lượng toán tử có giá trị trên từng kiểu dữ liệu
là khác nhau ⇒phải học và nhớ từ từ.
Dữ liệu số là loại dữ liệu thường được xử lý nhất trong các ứng dụng (may
mắn cho chúng ta vì ta đã quen với toán học).
Các toán tử trên dữ liệu số là :
toán tử '&' : nối kết 2 chuỗi thành 1 chuỗi.
toán tử '+' : cộng 2 đại lượng.
toán tử '-' : trừ đại lượng 2 ra khỏi đại lượng 1.
toán tử '*' : nhân 2 đại lượng.
toán tử '/' : chia đại lượng 1 cho đại lượng 2.
toán tử '\' : chia nguyên.
toán tử Mod : lấy phần dư của phép chia nguyên.
toán tử '^' : lũy thừa.
Chương 7 : Biểu thức VB

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 162
Cú pháp :
expr1 &expr2 (→kết quả)
nối kết 2 toán hạng kiểu chuỗi thành 1 chuỗi mới, nếu 1 trong 2 toán
hạng thuộc kiểu số thì nó sẽ được đổi thành dạng chuỗi trước khi thực
hiện nối kết.
Ví dụ :
Dim MyStr As String
MyStr = "Hello" & " World" ' kết quả là "Hello World".
MyStr = "Check " & 123 & " Check" ' kq là "Check 123 Check".
lưu ý nên có ký tự trống trong các chuỗi con sao cho nối kết chuỗi kết
quả dễ đọc.
Toán tử '&' để nối kết 2 chuỗi
Chương 7 : Biểu thức VB
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 163
Toán tử '+' trên dữ liệu số
Cú pháp :
expr1 + expr2 (→kết quả) hoặc + expr1
Nếu cả 2 toán hạng đều là số thì kiểu kết quả là kiểu chính xác nhất của
phép + theo thứ tự sau : Byte, Integer, Long, Single, Double, Currency,
Decimal với các ngoại lệ sau :
Chương 7 : Biểu thức VB
Variant chứa Longkết quả kiểu Variant chứa giá trị Integer và bị tràn
Variant chứa Integerkết quả kiểu Variant chứa giá trị Byte và bị tràn
Date1 toán hạng Date,1 toán hạng kiểu khác
Variant chứa Doublekết quả kiểu Variant chứa giá trị Single, Long, Date và bị
tràn
Double1 toán hạng Single,1 toán hạng Long
thì kết quả là :Nếu

Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 164
Toán tử '+' trên dữ liệu số (tt)
Nếu kiểu của cả 2 toán hạng đều là Variant thì việc xác định ngữnghĩa
phép + và kiểu kết quả sẽ theo qui luật của bảng sau :
Cộng1 là Variant chứa số, 1 là Variant chứa chuỗi
Nối kết 2 chuỗicả 2 toán hạng là Variant chứa chuỗi
Cộngcả 2 toán hạng là Variant chứa số
thì :Nếu
Chương 7 : Biểu thức VB
Khoa Công nghệ Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin học
Slide 165
Toán tử '+' trên dữ liệu số (tt)
Nếu ít nhất 1 toán hạng không phải Variant thì việc xác định ngữnghĩa
phép + và kiểu kết quả sẽ theo qui luật của bảng sau :
Nối kết 2 chuỗi1 là chuỗi, 1 là Variant giá trị khác Null
Cộng1 là số, 1 là Variant giá trị khác Null
kết quả là toán hạng còn lại1 biểu thức là Variant chứa Empty
kết quả là Null1 trong 2 toán hạng là Null
A Type mismatch error1 là số và 1 là chuỗi
Nối kết 2 chuỗicả 2 toán hạng là chuỗi
Cộngcả 2 toán hạng là dữ liệu số
thì :Nếu
Chương 7 : Biểu thức VB