bài 10: cấu trúc lặp
DESCRIPTION
Bài 10: Cấu trúc lặp. Cấu trúc Do … Loop Cấu trúc Do While | Until … Loop Cú pháp:. Bài 10: Cấu trúc lặp. Cấu trúc Do … Loop Cấu trúc Do While | Until … Loop Ý nghĩa: - PowerPoint PPT PresentationTRANSCRIPT
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 … Loop2. 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. ABCAB
b. 0
c. 3
d. 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