06/04/2021, 14:48

Vòng lặp While trong Visual Basic (VB While Loop) - VB căn bản

Trong bài này mình sẽ hướng dẫn cách sử dụng vòng lặp While trong Visual Basic (VB), đây là vòng lặp dùng trong trường hợp không biết trước tổng số lần lặp. Nếu vòng lặp For biết trước được tổng số lần lặp thì vòng lặp While lại khác, bởi cấu trúc của nó có thể lặp vô hạn nếu điều kiện dừng không ...

Trong bài này mình sẽ hướng dẫn cách sử dụng vòng lặp While trong Visual Basic (VB), đây là vòng lặp dùng trong trường hợp không biết trước tổng số lần lặp.

Nếu vòng lặp For biết trước được tổng số lần lặp thì vòng lặp While lại khác, bởi cấu trúc của nó có thể lặp vô hạn nếu điều kiện dừng không được kích hoạt.

1. Cú pháp vòng lặp While trong Visual Basic (VB)

Nói chung chúng ta sẽ sử dụng từ khóa While để tạo vòng lặp while trong VB.

Sau đây là cú pháp:

While boolean_expression
    // Statements to Execute
End While

Trong đó boolean_expression là biểu thức điều khiể vòng lặp. Khi bắt đầu một lần lặp nó sẽ kiểm tra biểu thức này, nếu:

  • boolean_expression bằng true => cho phép lặp
  • boolean_expression bằng false => kết thúc vòng lặp

Nếu boolean_expression là biểu thức luôn đúng trong mọi trường hợp thì sẽ dẫn tới lặp vô hạn, lúc này toàn bộ chương trình sẽ bị vỡ bởi máy tính không đủ tài nguyên để xử lý một vòng lặp vô hạn.

2. Ví dụ vòng lặp While trong Visual Basic (VB)

Ta sẽ bắt đầu bằng một ví dụ thật đơn giản: Sử dụng vòng lặp while để viết chương trình in ra các số từ 1 -> 4.

Bài này mình đã giải ở bài vòng lặp for rồi, bây giờ ta sẽ chuyển nó sang vòng lặp while.

Module Module1
    Sub Main()
        Dim i As Integer = 1
        While i <= 4
            Console.WriteLine("i = {0}", i)
            i += 1
        End While
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Quy trình chạy như sau:

  • Đầu tiên khai báo một biến i và gán i = 1.
  • Lần lặp 1: i = 1, điều kiện i <= 4 bằng true, cho phép lặp nên in ra số 1, sau đó tăng i lên 1.
  • Lần lặp 2: i = 2, điều kiện i <= 4 bằng true, cho phép lặp nên in ra số 2, sau đó tăng i lên 1.
  • Lần lặp 3: i = 3, điều kiện i <= 4 bằng true, cho phép lặp nên in ra số 3, sau đó tăng i lên 1.
  • Lần lặp 4: i = 4, điều kiện i <= 4 bằng true, cho phép lặp nên in ra số 4, sau đó tăng i lên 1.
  • Lần lặp 1: i = 5, điều kiện i <= 4 bằng false, kết thúc vòng lặp.

Đoạn code i += 1 rất quan trọng, nó tăng biến i lên 1 đơn vị sau mỗi lần lặp để tránh bị lặp vô hạn, cũng như thỏa yêu cầu của bài toán.

Chạy chương trình trên bạn thu được kết quả như sau:

i = 1
i = 2
i = 3
i = 4

3. Vòng lặp While lồng nhau trong Visual Basic

Trong Visual Basic, một vòng lặp While nằm bên trong một vòng lặp While khác thì ta gọi là lồng nhau.

Ví dụ dưới đây mình đã lồng hai vòng lặp với nhau.

Module Module1
    Sub Main()
        Dim i As Integer = 1
        While i < 4
            Console.WriteLine("i = {0}", i)
            i += 1
            Dim j As Integer = 1
            While j < 2
                Console.WriteLine("j = {0}", j)
                j += 1
            End While
        End While
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Chương trình này rất khó giải thích bằng text, vì vậy mình để cho bạn tự chạy và tự suy ngẫm nhé.

Kết quả của nó là:

i = 1
j = 1
i = 2
j = 1
i = 3
j = 1

4. Thoát khỏi vòng lặp While bằng lênh Exit

Ở bài vòng lặp For mình đã giới thiệu về lệnh này rồi nên mình chỉ đưa ra một ví dụ thôi nhé.

Nếu bạn thấy khó hiểu thì quay lại bài trước để đọc.

Module Module1
    Sub Main()
        Dim i As Integer = 1
        While i < 4
            Console.WriteLine("i value: {0}", i)
            i += 1
            If i = 2 Then Exit While
        End While
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Chương trình này chỉ lặp một lần duy nhất, bởi vì đoạn code i += 1 sẽ tăng i = 2 nên lệnh Exit sẽ chạy.

Trên là hướng dẫn cách dùng vòng lặp While trong Visual Basic (VB). Hy vọng những kiến thức cơ bản này sẽ giúp bạn hiểu rõ hơn về cấu trúc của vòng lặp này.

Vũ Văn Thanh

12 chủ đề

2597 bài viết

0