MÔN TIN HỌC<br />
Chương 8<br />
<br />
CÁC LỆNH THỰC THI VB<br />
8.1 Tổng quát về ngôn ngữ VB<br />
8.2 Các lệnh gán.<br />
8.3 Các lệnh kiểm tra điều kiện & rẽ nhánh<br />
8.4 Các lệnh lặp<br />
8.5 Vấn đề lồng nhau giữa các lệnh<br />
8.6 Thoát đột ngột khỏi khỏi cấp điều khiển<br />
8.7 Lệnh gọi hàm/thủ tục<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 209<br />
<br />
8.1 Tổng quát về các lệnh thực thi VB<br />
<br />
<br />
Ta đã biết giải thuật để giải quyết 1 vấn đề nào đó là trình tự các công việc<br />
nhỏ hơn, nếu ta thực hiện đúng trình tự các công việc nhỏ hơn này thì sẽ<br />
giải quyết được vấn đề lớn.<br />
<br />
<br />
<br />
VB (hay ngôn ngữ lập trình khác) cung cấp 1 tập các lệnh thực thi, mỗi<br />
lệnh thực thi được dùng để miêu tả 1 công việc nhỏ trong 1 giải thuật với ý<br />
tưởng chung như sau :<br />
Nếu tồn tại lệnh thực thi miêu tả được công việc nhỏ của giải thuật thì<br />
ta dùng lệnh thực thi này.<br />
Nếu công việc nhỏ vẫn còn quá phức tạp và không có lệnh thực thi nào<br />
miêu tả được thì ta dùng lệnh gọi thủ tục (Function, Sub, Property)<br />
trong đó thủ tục là trình tự các lệnh thực hiện công việc nhỏ này...<br />
<br />
<br />
<br />
Hầu hết các lệnh thực thi có chứa biểu thức và dùng kết quả của biểu thức<br />
này để quyết định công việc kế tiếp cần được thực hiện ⇒ ta thường gọi<br />
các lệnh thực thi là các cấu trúc điều khiển.<br />
<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 210<br />
<br />
105<br />
<br />
Tổng quát về các lệnh thực thi VB (tt)<br />
<br />
<br />
Để dễ học, dễ nhớ và dễ dùng, VB (cũng như các ngôn ngữ khác) chỉ cung<br />
cấp 1 số lượng rất nhỏ các lệnh thực thi :<br />
Nhóm lệnh không điều khiển :<br />
o Lệnh gán dữ liệu vào 1 biến.<br />
o Lệnh gán tham khảo đến đối tượng vào 1 biến tham khảo.<br />
Nhóm lệnh tạo quyết định :<br />
o Lệnh kiểm tra điều kiện luận lý If ... Then ... Else<br />
o Lệnh kiểm tra điều kiện số học Select Case<br />
Nhóm lệnh lặp :<br />
o Lệnh lặp Do ... Loop<br />
o Lệnh lặp For ... Next<br />
o Lệnh lặp For Each ... Next<br />
Nhóm lệnh gọi thủ tục :<br />
o Lệnh gọi thủ tục<br />
o Lệnh thoát khỏi cấu trúc điều khiển Exit<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 211<br />
<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
8.2 Lệnh gán dữ liệu<br />
<br />
<br />
Lệnh được dùng nhiều nhất trong 1 chương trình là lệnh gán giá trị dữ liệu vào<br />
1 vùng nhớ để lưu trữ lại dữ liệu này hầu sử dụng lại nó sau đó. Chúng ta đã<br />
thấy lệnh này nhiều lần trong các chương trước, bây giờ chúng ta nói rõ hơn về<br />
nó.<br />
<br />
Cú pháp :<br />
lvar = expr<br />
biểu thức bên phải sẽ được tính để tạo ra kết quả (1 giá trị cụ thể thuộc 1<br />
kiểu cụ thể), giá trị này sẽ được gán vào ô nhớ do lvar qui định. Trước khi<br />
gán, VB sẽ kiểm tra kiểu của 2 phần tử (qui tắc kiểm tra sẽ được trình bày<br />
sau).<br />
lvar thường là 1 biến dữ liệu cơ bản, nhưng có thể đệ qui theo qui tắc :<br />
o nếu lvar là biến dãy thì 1 phần tử dãy có thể là lvar.<br />
o nếu lvar là biến dữ liệu người dùng thì 1 field của nó có thể là lvar.<br />
o nếu lvar là biến đối tượng thì 1 thuộc tính của đối tượng có thể là lvar.<br />
Ví dụ :<br />
dblDispValue = dblDispValue + intNegative * d * (10 ^ -bytPosDigit)<br />
<br />
<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 212<br />
<br />
106<br />
<br />
Lệnh gán tham khảo đến đối tượng<br />
<br />
<br />
Như đã được trình bày trong chương 5, biến đối tượng (có kiểu là Object hay<br />
tên class module nào đó) chỉ chứa tham khảo đến đối tượng chứ không chứa<br />
trực tiếp đối tượng. Khi mới định nghĩa, những biến này chưa tham khảo đến<br />
đối tượng cụ thể nào, do đó trước khi dùng chúng, ta phải gán tham khảo của<br />
đối tượng cụ thể vào biến.<br />
<br />
Cú pháp :<br />
Set lvar = expr<br />
biểu thức bên phải sẽ được tính để tạo ra kết quả là 1 tham khảo đến đối<br />
tượng, tham khảo này sẽ được gán vào ô nhớ do lvar qui định. Trước khi<br />
gán, VB sẽ kiểm tra kiểu của 2 phần tử (qui tắc kiểm tra sẽ được trình bày<br />
sau).<br />
lvar thường là 1 biến đối tượng cơ bản, nhưng có thể đệ qui theo qui tắc :<br />
o nếu lvar là biến dãy thì 1 phần tử dãy có thể là lvar.<br />
o nếu lvar là biến dữ liệu người dùng thì 1 field của nó có thể là lvar.<br />
o nếu lvar là biến đối tượng thì 1 thuộc tính của đối tượng có thể là lvar.<br />
Ví dụ :<br />
Set objClipbd = New Clipboard<br />
<br />
<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 213<br />
<br />
8.3 Lệnh kiểm tra điều kiện luận lý IF<br />
<br />
<br />
Cho phép dựa vào kết quả luận lý (tính được từ 1 biểu thức luận lý) để quyết<br />
định thi hành 1 trong 2 nhánh lệnh. Sau khi thực hiện 1 trong 2 nhánh lệnh,<br />
chương trình sẽ tiếp tục thi hành lệnh ngay sau lệnh IF. Có nhiều cú pháp<br />
khác nhau :<br />
<br />
Cú pháp 1a :<br />
If condition Then Statement1 [Else Statement2 ]<br />
<br />
<br />
<br />
<br />
<br />
condition là 1 biểu thức luận lý miêu tả điều kiện cần kiểm tra, nó có kết<br />
quả True/False.<br />
Statement1, Statement2 là lệnh thực thi VB bất kỳ.<br />
nếu kết quả là True thì thi hành Statement1.<br />
nếu kết quả là False và có dùng Else thì thi hành Statement2.<br />
<br />
Ví dụ :<br />
If blnThaybenh Then MsgBox("Thầy bệnh. Sinh viên về nghỉ")<br />
<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 214<br />
<br />
107<br />
<br />
Lệnh kiểm tra điều kiện luận lý IF (tt)<br />
Cú pháp 2 :<br />
If condition Then<br />
[Statement]+<br />
End If<br />
<br />
<br />
<br />
<br />
condition là 1 biểu thức luận lý miêu tả điều kiện cần kiểm tra, nó có kết<br />
quả True/False.<br />
[Statement]+ là danh sách các lệnh thực thi VB bất kỳ.<br />
nếu kết quả là True thì thi hành các lệnh [Statement]+, nếu kết quả là<br />
False thi thôi.<br />
<br />
Ví dụ :<br />
If del >=0 Then<br />
x1 = (-b-sqr(del))/(2*a)<br />
x2 = (-b+sqr(del))/(2*a)<br />
MsgBox("x1= " & x1 & " ,x2= " & x2)<br />
End If<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 215<br />
<br />
Lệnh kiểm tra điều kiện luận lý IF (tt)<br />
Cú pháp 3 :<br />
If condition Then<br />
[Statement1]+<br />
Else<br />
[Statement2]+<br />
End If<br />
<br />
<br />
<br />
<br />
condition là 1 biểu thức luận lý miêu tả điều kiện cần kiểm tra, nó có kết<br />
quả True/False.<br />
[Statement1]+, [Statement2]+ là danh sách các lệnh thực thi VB bất kỳ.<br />
nếu kết quả là True thì thi hành các lệnh [Statement1]+, nếu kết quả là<br />
False thì thi hành các lệnh [Statement2]+.<br />
<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 216<br />
<br />
108<br />
<br />
Lệnh kiểm tra điều kiện luận lý IF (tt)<br />
Ví dụ :<br />
If del >=0 Then<br />
x1 = (-b-sqr(del))/(2*a)<br />
x2 = (-b+sqr(del))/(2*a)<br />
MsgBox("x1= " & x1 & " ,x2= " & x2)<br />
Else<br />
MsgBox("Phương trình vô nghiệm")<br />
End If<br />
Ví dụ : hiệu chỉnh trị phần tử Display khi người dùng nhập thêm ký số d<br />
If (blnFpoint) Then ' phần lẻ<br />
bytPosDigit = bytPosDigit + 1<br />
dblDispValue = dblDispValue + intPosNeg * d * (10 ^ -bytPosDigit)<br />
Else<br />
' phần nguyên<br />
dblDispValue = dblDispValue * 10 + intPosNeg * d<br />
End If<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 217<br />
<br />
Lệnh kiểm tra điều kiện số học Select<br />
Cú pháp :<br />
Select Case condition<br />
Case expr1<br />
[Statement1]+<br />
Case expr2<br />
[Statement2]+<br />
...<br />
Case Else<br />
[Statementn]+<br />
End Select<br />
<br />
<br />
<br />
<br />
condition là 1 biểu thức số học miêu tả điều kiện cần kiểm tra, nó có giá trị<br />
số.<br />
[Statement1]+, [Statement2]+ là danh sách các lệnh thực thi VB bất kỳ.<br />
tùy giá trị của điều kiện trùng với nhánh Case nào mà các lệnh VB trong<br />
nhánh đó được thi hành, sau đó VB sẽ thi hành lệnh ngay sau lệnh Select.<br />
Khoa Công nghệ Thông tin<br />
Trường ĐH Bách Khoa Tp.HCM<br />
<br />
Môn : Tin học<br />
Chương 8 : Các lệnh thực thi VB<br />
Slide 218<br />
<br />
109<br />
<br />