Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 156
Chương 7
BIU THC VB
Chương 7 : Biu thc VB
MÔN TIN HC
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 157
Tng quát v biu thc VB
Ta đã biết trong toán hc công thc là phương tin miêu t 1 qui trình
tính toán nào đó trên các s.
Trong VB (hay ngôn ng lp trình khác), ta dùng biu thc để miêu t
qui trình tính toán nào đó trên các d liu biu thc cũng ging như
công thc toán hc, tuy nó tng quát hơn (xtrên nhiu loi d liu
khác nhau) và phi tuân theo qui tc cu to kht khe hơn công thc
toán hc.
Để hiu được biu thc, ta cn hiu được các thành phn ca nó :
Các toán hng : các biến, hng d liu,...
Các toán t tham gia biu thc : +,-,*,/,...
Qui tc kết hp toán t và toán hng để to biu thc.
Qui trình mà máy dùng để tính tr ca biu thc.
Kiu ca biu thc là kiu ca kết qu tính toán biu thc.
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 158
Các biu thc cơ bn
Biu thc cơ bn là phn t nh nht cu thành biu thc bt k.Mt
trong các phn t sau được gi là biu thc cơ bn :
Biến,
Hng gi nh,
Giá tr d liu c th thuc kiu nào đó (nguyên, thc,..)
Li gi hàm,
1 biu thc được đóng trong 2 du ().
Qui trình to biu thc là qui trình đệ qui : ta kết hp tng toán t vi các
toán hng ca nó, trong đó toán hng hoc là biu thc cơ bn hoc là
biu thc sn có (đã được xây dng trước đó và nên đóng trong 2 du ()
để biến nó tr thành biu thc cơ bn).
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 159
Các toán t
Da theo s toán hng tham gia, có 2 loi toán t thường dùng nht :
toán t 1 ngôi : ch cn 1 toán hng. Ví d toán t '-' để tính phn
âm ca 1 đại lượng.
toán t 2 ngôi : cn dùng 2 toán hng. Ví d toán t '*' để tính tích
ca 2 đại lượng.
VB thường dùng các ký t đặc bit để miêu t toán t. Ví d :
toán t '+' : cng 2 đại lượng.
toán t '-' : tr đại lượng 2 ra khi đạ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 hp, VB dùng cùng 1 ký t đặc bit để miêu t nhiu
toán t khác nhau. Trong trường hp này, ng cnh s được dùng để gii
quyết nhm ln.
Ng cnh thường là kiu ca các toán hng tham gia hoc do thiếu toán
hng thì toán t được hiu là toán t 1 ngôi.
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 160
Các toán t (tt)
Da theo độ ưu tiên ca các toán t trong qui trình tính toán biu thc, có
3 loi toán t :
toán t s hc: có độ ưu tiên cao nht trong qui trình tính toán biu
thc.
toán t so sánh : có độ ưu tiên kế tiếp.
toán t lun lý và bitwise : có độ ưu tiên thp nht.
Trong các slide sau, chúng ta s trình bày chi tiết các toán t VB thuc
tng loi trên.
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 161
Các toán t s hc
Tùy thuc kiu ca các toán hng tham gia mà ta được phép dùng nhng
toán t nào trên chúng s lượng toán t có giá tr trên tng kiu d liu
là khác nhau phi hc và nh t t.
D liu s là loi d liu thường được x lý nht trong các ng dng (may
mn cho chúng ta vì ta đã quen vi toán hc).
Các toán t trên d liu s là :
toán t '&' : ni kết 2 chui thành 1 chui.
toán t '+' : cng 2 đại lượng.
toán t '-' : tr đại lượng 2 ra khi đạ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 : ly phn dư ca phép chia nguyên.
toán t '^' : lũy tha.
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 162
Cú pháp :
expr1 &expr2 (kết qu)
ni kết 2 toán hng kiu chui thành 1 chui mi, nếu 1 trong 2 toán
hng thuc kiu s thì nó s được đổi thành dng chui trước khi thc
hin ni 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 trng trong các chui con sao cho ni kết chui kết
qu d đọc.
Toán t '&' để ni kết 2 chui
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 163
Toán t '+' trên d liu s
Cú pháp :
expr1 + expr2 (kết qu) hoc + expr1
Nếu c 2 toán hng đều là s thì kiu kết qu là kiu chính xác nht ca
phép + theo th t sau : Byte, Integer, Long, Single, Double, Currency,
Decimal vi các ngoi l sau :
Chương 7 : Biu thc VB
Variant cha Longkết qu kiu Variant cha giá tr Integer và b tràn
Variant cha Integerkết qu kiu Variant cha giá tr Byte và b tràn
Date1 toán hng Date,1 toán hng kiu khác
Variant cha Doublekết qu kiu Variant cha giá tr Single, Long, Date và b
tràn
Double1 toán hng Single,1 toán hng 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 hc
Slide 164
Toán t '+' trên d liu s (tt)
Nếu kiu ca c 2 toán hng đều là Variant thì vic xác định ngnghĩa
phép + và kiu kết qu s theo qui lut ca bng sau :
Cng1 là Variant cha s, 1 là Variant cha chui
Ni kết 2 chuic 2 toán hng là Variant cha chui
Cngc 2 toán hng là Variant cha s
thì :Nếu
Chương 7 : Biu thc VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 165
Toán t '+' trên d liu s (tt)
Nếu ít nht 1 toán hng không phi Variant thì vic xác định ngnghĩa
phép + và kiu kết qu s theo qui lut ca bng sau :
Ni kết 2 chui1 là chui, 1 là Variant giá tr khác Null
Cng1 là s, 1 là Variant giá tr khác Null
kết qu là toán hng còn li1 biu thc là Variant cha Empty
kết qu là Null1 trong 2 toán hng là Null
A Type mismatch error1 là s và 1 là chui
Ni kết 2 chuic 2 toán hng là chui
Cngc 2 toán hng là d liu s
thì :Nếu
Chương 7 : Biu thc VB