21
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

Embed Size (px)

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 Presentation

Citation preview

Page 1: Bài 10: Cấu trúc lặp

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

Page 2: Bài 10: Cấu trúc lặp

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.

Page 3: Bài 10: Cấu trúc lặp

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

Page 4: Bài 10: Cấu trúc lặp

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

Page 5: Bài 10: Cấu trúc lặp

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>]

Page 6: Bài 10: Cấu trúc lặp

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.

Page 7: Bài 10: Cấu trúc lặp

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

Page 8: Bài 10: Cấu trúc lặp

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

Page 9: Bài 10: Cấu trúc lặp

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.

Page 10: Bài 10: Cấu trúc lặp

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.

Page 11: Bài 10: Cấu trúc lặp

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

Page 12: Bài 10: Cấu trúc lặp

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.

Page 13: Bài 10: Cấu trúc lặp

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

Page 14: Bài 10: Cấu trúc lặp

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

Page 15: Bài 10: Cấu trúc lặp

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>]

Page 16: Bài 10: Cấu trúc lặp

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>]

Page 17: Bài 10: Cấu trúc lặp

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

Page 18: Bài 10: Cấu trúc lặp

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

Page 19: Bài 10: Cấu trúc lặ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

Page 20: Bài 10: Cấu trúc lặp

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

Page 21: Bài 10: Cấu trúc lặp

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