Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 209
Chương 8
CÁC LNH THC THI VB
Chương 8 : Các lnh thc thi VB
MÔN TIN HC
8.1 Tng quát vngôn ngVB
8.2 Các lnh gán.
8.3 Các lnh kim tra điu kin & rnhánh
8.4 Các lnh lp
8.5 Vn đề lng nhau gia các lnh
8.6 Thoát đột ngt khi khi cp điu khin
8.7 Lnh gi hàm/thtc
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 210
8.1 Tng quát vcác lnh thc thi VB
Ta đã biết gii thut để gii quyết 1 vn đề nào đólàtrình tcác công vic
nh hơn, nếu ta thc hin đúng trình tcác công vic nh hơn này thì s
gii quyết được vn đề ln.
VB (hay ngôn nglp trình khác) cung cp 1 tp các lnh thc thi, mi
lnh thc thi được dùng để miêu t1 công vic nhtrong 1 gii thut vi ý
tưởng chung như sau :
Nếu tn ti lnh thc thi miêu t được công vic nhca gii thut thì
ta dùng lnh thc thi này.
Nếu công vic nhvn còn quá phc tp và không có lnh thc thi nào
miêu t được thì ta dùng lnh gi thtc (Function, Sub, Property)
trong đóthtc là trình tcác lnh thc hin công vic nhy...
Hu hết các lnh thc thi có cha biu thc và dùng kết quca biu thc
này để quyết định công vic kếtiếp cn được thc hin ta thường gi
các lnh thc thi là các cu trúc điu khin.
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 211
Tng quát vcác lnh thc thi VB (tt)
Để dhc, dnh ddùng, VB (cũng như các ngôn ngkhác) chcung
cp 1 s lượng rt nhc lnh thc thi :
Nhóm lnh không điu khin:
oLnh gán dliu vào 1 biến.
oLnh gán tham kho đến đối tượng vào 1 biến tham kho.
Nhóm lnh to quyết định :
oLnh kim tra điu kin lun lý If ... Then ... Else
oLnh kim tra điu kin shc Select Case
Nhóm lnh lp :
oLnh lp Do ... Loop
oLnh lp For ... Next
oLnh lp For Each ... Next
Nhóm lnh gi thtc :
oLnh gi thtc
oLnh thoát khi cu trúc điu khin Exit
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 212
8.2 Lnh gán dliu
Lnh đưc dùng nhiu nht trong 1 chương trình là lnh gán giá trdliu vào
1 vùng nh để lưu trli dliu này hu sdng li nó sau đó. Chúng ta đã
thy lnh này nhiu ln trong các chương trước, bây gichúng ta nói rõ hơn v
nó.
pháp :
lvar =expr
biu thc bên phi s được tính để to ra kết qu(1 giá trcththuc 1
kiu cth), giá trnày s được gán vào ô nhdo lvar qui định. Trước khi
gán, VB skim tra kiu ca 2 phn t(qui tc kim tra s được trình bày
sau).
lvar thường là 1 biến dliu cơ bn, nhưng có th đệ qui theo qui tc :
onếu lvar là biến dãy thì 1 phn ty có th lvar.
onếu lvar là biến dliu người dùng thì 1 field ca nó có th lvar.
onếu lvar là biến đối tượng thì 1 thuc tính ca đối tượng có th lvar.
d:
dblDispValue = dblDispValue + intNegative * d * (10 ^ -bytPosDigit)
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 213
Lnh gán tham kho đến đối tượng
Như đã được trình bày trong chương 5, biến đối tượng (có kiu là Object hay
tên class module nào đó) chcha tham kho đến đối tượng chkhông cha
trc tiếp đối tượng. Khi mi định nghĩa, nhng biến này chưa tham kho đến
đối tượng cthnào, do đó trước khi dùng chúng, ta phi gán tham kho ca
đối tượng cthvào biến.
pháp :
Set lvar =expr
biu thc bên phi s được tính để to ra kết qu 1 tham kho đến đối
tượng, tham kho này s được gán vào ô nhdo lvar qui định. Trước khi
gán, VB skim tra kiu ca 2 phn t(qui tc kim tra s được trình bày
sau).
lvar thường là 1 biến đối tượng cơ bn, nhưng có th đệ qui theo qui tc :
onếu lvar là biến dãy thì 1 phn ty có th lvar.
onếu lvar là biến dliu người dùng thì 1 field ca nó có th lvar.
onếu lvar là biến đối tượng thì 1 thuc tính ca đối tượng có th lvar.
d:
Set objClipbd = New Clipboard
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 214
8.3 Lnh kimtrađiukinlunlýIF
Cho phép davàokếtqulun (tính đượct1 biuthclunlý) để quyết
định thi hành 1 trong 2 nhánh lnh. Sau khi thchin 1 trong 2 nhánh lnh,
chương trình stiếptc thi hành lnh ngay sau lnh IF. Có nhiucúpháp
khác nhau :
pháp 1a :
If condition Then Statement1 [Else Statement2 ]
condition 1 biuthclunlýmiêutảđiukincnkimtra, nócókết
quTrue/False.
Statement1, Statement2 lnh thc thi VB btk.
nếukếtqu True thì thi hành Statement1.
nếukếtqu False và dùng Else thì thi hành Statement2.
d:
If blnThaybenh Then MsgBox("Thybnh. Sinh viên vngh")
Chương 8 : Các lnh thcthiVB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 215
Lnh kim tra điu kin lun lý IF (tt)
pháp 2 :
If condition Then
[Statement]+
End If
condition 1 biu thc lun lý miêu t điu kin cn kim tra, nó kết
quTrue/False.
[Statement]+ danh sách các lnh thc thi VB bt k.
nếu kết qu True thì thi hành các lnh [Statement]+, nếu kết qu
False thi thôi.
d:
If del >=0 Then
x1 = (-b-sqr(del))/(2*a)
x2 = (-b+sqr(del))/(2*a)
MsgBox("x1= " & x1 & " ,x2= " & x2)
End If
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 216
Lnh kim tra điu kin lun lý IF (tt)
pháp 3 :
If condition Then
[Statement1]+
Else
[Statement2]+
End If
condition 1 biu thc lun lý miêu t điu kin cn kim tra, nó kết
quTrue/False.
[Statement1]+, [Statement2]+ danh sách các lnh thc thi VB bt k.
nếu kết qu True thì thi hành các lnh [Statement1]+, nếu kết qu
False thì thi hành các lnh [Statement2]+.
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 217
d:
If del >=0 Then
x1 = (-b-sqr(del))/(2*a)
x2 = (-b+sqr(del))/(2*a)
MsgBox("x1= " & x1 & " ,x2= " & x2)
Else
MsgBox("Phương trình vô nghim")
End If
d: hiu chnh trphn t Display khi người dùng nhp thêm ký sd
If (blnFpoint) Then ' phn l
bytPosDigit = bytPosDigit + 1
dblDispValue = dblDispValue + intPosNeg * d * (10 ^ -bytPosDigit)
Else ' phn nguyên
dblDispValue = dblDispValue * 10 + intPosNeg * d
End If
Lnh kim tra điu kin lun lý IF (tt)
Chương 8 : Các lnh thc thi VB
Khoa Công ngh Thông tin
Trường ĐH Bách Khoa Tp.HCM
Môn : Tin hc
Slide 218
Lnh kimtrađiukinshc Select
pháp :
Select Case condition
Case expr1
[Statement1]+
Case expr2
[Statement2]+
...
Case Else
[Statementn]+
End Select
condition 1 biuthcshcmiêutảđiukincnkim tra, nó giá tr
s.
[Statement1]+, [Statement2]+ danh sách các lnh thc thi VB btk.
tùy giá trcađiukin trùng vi nhánh Case nào các lnh VB trong
nhánh đóđược thi hành, sau đó VB sthi hành lnh ngay sau lnh Select.
Chương 8 : Các lnh thcthiVB