Cấu Trúc Lặp - wellcom to bao quan

Download Report

Transcript Cấu Trúc Lặp - wellcom to bao quan

Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
1. Cấu trúc Do While | Until … Loop

Cú pháp:
Do [{While | Until} <Biểu thức điều kiện>]
[<Khối lệnh>]
[Exit Do]
[<Khối lệnh>]
Loop
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
1. Cấu trúc Do While | Until … Loop

Ý nghĩa:
• Với câu lệnh While: VB sẽ kiểm tra <Biểu thức điều
kiện> đầu tiên. Nếu biếu thức đúng thì nó sẽ thực
hiện các câu lệnh nằm trong <Khối lệnh>. Nếu biểu
thức sai thì nó sẽ thoát khỏi vòng lặp và thực hiện
các câu lệnh sau Loop.
• Với câu lệnh Until: Giống câu lệnh While, nhưng nếu
kết quả của <Biểu thức điều kiện> sai thì nó thực
hiện các câu lệnh nằm trong <Khối lệnh>. Nếu biểu
thức đúng thì nó sẽ thoát khỏi vòng lặp và thực hiện
các câu lệnh sau Loop.
• Exit Do: Câu lệnh để thoát khỏi vòng lặp Do.
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
1. Cấu trúc Do While | Until … Loop

Ví dụ 1: Sử dụng cú pháp Do While … Loop
Private Sub DemSo()
Dim nCount As Integer
nCount = 1
Do While nCount < 0
nCount = nCount + 1
Loop
MsgBox “nCount = ” & nCount
End Sub
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
1. Cấu trúc Do While | Until … Loop

Ví dụ 2: Sử dụng cú pháp Do Until … Loop
Private Sub DemSo()
Dim nCount As Integer
nCount = 1
Do Until nCount > 0
nCount = nCount + 1
Loop
MsgBox “nCount = ” & nCount
End Sub
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
2. Cấu trúc Do … Loop While | Until

Cú pháp:
Do
[<Khối lệnh>]
[Exit Do]
[<Khối lệnh>]
Loop [{While | Until} <Biểu thức điều kiện>]
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
2. Cấu trúc Do … Loop While | Until

Ý nghĩa:
• Với câu lệnh While: VB sẽ thực hiện trước các
lệnh trong <Khối lệnh> sau Do, sau đó mới xét
đến <Biểu thức điều kiện>. Nếu biểu thức đúng thì
VB sẽ thực hiện lần nữa các lệnh trong <Khối
lệnh>. Nếu biểu thức sai thì VB sẽ thực hiện tiếp
các lệnh đi sau Loop While.
• Với câu lệnh Until: Giống câu lệnh While, nhưng
nếu kết quả của biểu thức điều kiện sai thì VB sẽ
thực hiện lần nữa các lệnh trong <Khối lệnh>, nếu
biểu thức đúng thì VB sẽ thực hiện tiếp các lệnh đi
sau Loop Until.
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
2. Cấu trúc Do … Loop While | Until

Ví dụ 1: Sử dụng cấu trúc Do … Loop While
Private Sub DemSo()
Dim nCount As Integer
nCount = 1
Do
nCount = nCount + 1
Loop While nCount < 0
MsgBox “nCount = ” & nCount
End Sub
Bài 10: Cấu trúc lặp
I. Cấu trúc Do … Loop
2. Cấu trúc Do … Loop While | Until

Ví dụ 2: Sử dụng cấu trúc Do … Loop Until
Private Sub DemSo()
Dim nCount As Integer
nCount = 1
Do
nCount = nCount + 1
Loop Until nCount > 0
MsgBox “nCount = ” & nCount
End Sub
Bài 10: Cấu trúc lặp
II. Cấu trúc For … Next

Cú pháp:
For <Biến đếm> = <Giá trị đầu> To <Giá trị cuối> [Step <Bước nhảy>]
[<Khối lệnh>]
[Exit For]
[<Khối lệnh>]
Next [<Biến đếm>]

Ý nghĩa:
• Vòng lặp For … Next được sử dụng khi biết trước số lần
lặp. Ta có thể dùng <Biến đếm> để tăng dần hoặc giảm
dần trong vòng lặp. <Giá trị đầu>, <Giá trị cuối>, <Bước
nhảy> là những giá trị số. Mặc định bước nhảy là 1.
• Biến đếm sau câu lệnh Next có thể có hoặc không, chúng
thường được sử dụng để phân biệt giữa các vòng lặp lồng
nhau.
Bài 10: Cấu trúc lặp
II. Cấu trúc For … Next

Cú pháp
For <Biến đếm> = <Giá trị đầu> To <Giá trị cuối> [Step <Bước nhảy>]
[<Khối lệnh>]
[Exit For]
[<Khối lệnh>]
Next [<Biến đếm>]

Ý nghĩa
• Vòng lặp For … Next được sử dụng khi biết trước số lần lặp. Ta
có thể dùng <Biến đếm> để tăng dần hoặc giảm dần trong vòng
lặp. <Giá trị đầu>, <Giá trị cuối>, <Bước nhảy> là những giá trị
số. Mặc định bước nhảy là 1.
•
•
Biến đếm sau câu lệnh Next có thể có hoặc không, chúng thường
được sử dụng để phân biệt giữa các vòng lặp lồng nhau.
Exit For: Câu lệnh dùng để thoát khỏi vòng lặp For.
Bài 10: Cấu trúc lặp
II. Cấu trúc For … Next

Ví dụ: Tính tổng số từ 1 đến 5.
Private Sub TinhTong()
Dim i As Integer, nSum As Integer
For i = 1 To 5
nSum = nSum + i
Next i
MsgBox “nSum = ” & nSum
‘ Kết quả: nSum = 15
End Sub
Bài 10: Cấu trúc lặp
III. Cấu trúc While…wend

Cú pháp
While <Biểu thức điều kiện>
[<Khối lệnh>]
Wend

Ý nghĩa
• VB sẽ tiến hành kiểm tra <Biểu thức điều kiện> trước,
nếu biểu thức điều kiện đúng thì VB sẽ thực hiện các
lệnh nằm trong <Khối lệnh>. Nếu biểu thức điều kiện sai
thì VB sẽ thoát khỏi vòng lặp và thực hiện tiếp những câu
lệnh đi sau Wend.
• Vòng lặp While … Wend không thể thoát bằng lệnh Exit.
Vòng lặp chỉ thoát khi biểu thức điều kiện sai.
Bài 10: Cấu trúc lặp
III. Cấu trúc While…wend

Ví dụ:
Private Sub TinhTong()
Dim i As Integer, nSum As Integer
While i <= 5
nSum = nSum + i
i=i+1
Wend
MsgBox "nSum = " & nSum ' Kết quả: nSum = 15
End Sub
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
1. Nêu cú pháp của cấu trúc Do While | Until … Loop?

Cú pháp cấu trúc Do While | Until …Loop
Do [{While | Until} <Biểu thức điều kiện>]
[<Khối lệnh>]
[Exit Do]
[<Khối lệnh>]
Loop
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
2. Nêu cú pháp của cấu trúc Do … Loop While | Until?

Cú pháp cấu trúc Do … Loop While | Until
Do
[<Khối lệnh>]
[Exit Do]
[<Khối lệnh>]
Loop [{While | Until} <Biểu thức điều kiện>]
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
3. Nêu cú pháp của cấu trúc For … Next?

Cú pháp cấu trúc For … Next
For <Biến đếm> = <Giá trị đầu> To <Giá trị cuối>
[Step <Bước nhảy>]
[<Khối lệnh>]
[Exit For]
[<Khối lệnh>]
Next [<Biến đếm>]
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
4. Nêu cú pháp của cấu trúc While … Wend?

Cú pháp cấu trúc While … Wend
While <Biểu thức điều kiện>
[<Khối lệnh>]
Wend
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
5. Nếu có đoạn chương trình sau:

Dim I, K As Byte
I=6
K=5
Do While I <= 10
K = K + IIF (I Mod 2 = 0, +I, -I)
I=I+1
Loop
a. K = 35
b. K = 13
c. K không xác định
d. Sai cú pháp
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
6. Giả sử có hàm sau:

Function F(S1 As String) As String
Dim I As Byte
Dim S2 As String
For I = 1 To Len(S1)
S2 = Mid (S1, I, 1) + S2
Next
F = S2
End Function
Nếu ta gọi hàm trên như sau: DEBUG.PRINT F(“ABCAB”)
thì kết quả là:
a. BACAB
b. BACBA
c. BABCBA
d. BCABA
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
7. Giả sử ta có hàm sau:
Function F(S1 As String, S2 As String) As Byte
Dim I, C As Byte
C=0
For I = 1 To Len(S1) – Len(S2) + 1
If Mid(S1, I, Len(S2)) = S2 Then
C=C+1
End If
Next
F=C
End Function
Nếu ta gọi hàm trên như sau: DEBUG.PRINT F(“ABCaBAbD”, “AB”) thì kết quả là:

a.
b.
c.
d.
ABCAB
0
3
8
Bài 10: Cấu trúc lặp
IV. Tóm tắt

Câu hỏi
8. Giả sử ta có hàm sau:

Function Clear (S As String) As String
Do While Right(S, 2) = VBCRLF
S = Left(S, Len(S) - 2)
Loop
Clear = S
End Function
Nếu ta gọi hàm trên như sau KQ = Clear(“VBCRLF”) thì kết quả
sẽ thế nào?
a. VBCR
b. VB
c. VBCRLF
d. Các câu trên đều sai