Vòng lặp không xác định

Một phần của tài liệu PHẦN I: Mở đầu1. Tổng quan về thiết kế và tự động hóa thiết kế công pot (Trang 48 - 49)

/ Chia \ Chia lấy phần nguyên

8.4.Vòng lặp không xác định

8. Các cấu trúc điều khiển 1 Cấu trúc điều kiện

8.4.Vòng lặp không xác định

Thực hiện một khối lệnh với số lần lặp không định trước và chỉ kết thúc quá trình lặp này khi một biểu thức điều kiện được thỏa mãn (biểu thức điều kiện có giá trị Boolean: True hoặc False). Tùy thuộc vào việc kiểm tra biểu thức điều kiện mà ta sử dụng một trong hai dạng cú pháp như sau:

Kiểu 1: Lặp trong khi biểu thức điều kiện là TRUE  Do While <điều_kiện>

[Khối_lệnh] Loop

Với cú pháp này, [Khối_lệnh] chỉđược thực hiện khi <Điều_kiện> là đúng. Ví dụ sau sẽđếm số chữ số chẵn trong khoảng hai số A, B:

Dim i, A, B, SoChan As Integer A = 1: B = 10

i = A SoChan = 0 SoChan = 0 Do While i <= B

If (i Mod 2) = 0 Then SoChan = SoChan + 1 i = i + 1

Loop

Debug.Print ("So chu so chan = " & SoChan) Kết quả như sau:

Nếu muốn vòng lặp luôn có ít nhất một lần thi hành khối lệnh, sử dụng cú pháp:

Do

[Khối_lệnh]

Loop While <điều kiện>

Với cú pháp này, [Khối_lệnh] được thực hiện ít nhất một lần cho dù <Điều_kiện> đúng hay sai bởi <Điều_kiện> được kiểm tra ở cuối của cấu trúc.

Kiểu 2: Lặp cho đến khi điều kiện là FALSE    Do Until <điều_kiện> [Khối_lệnh] Loop Nếu muốn vòng lặp luôn có ít nhất một lần thi hành khối lệnh sử dụng cú pháp: Do [Khối_lệnh]

Loop Until <điều_kiện>

Khi [Khối_lệnh] được thực thi, nếu như trong [Khối_lệnh] không có câu lệnh nào tác động lên <điều_kiện> để nó nhận giá trị ngược lại thì vòng lặp này sẽ không bao giờ kết thúc và làm cho ứng dụng bị “treo”. Để thoát khỏi vòng lặp ngay lập tức ta có thể dùng từ khóa Exit Do đặt trong [Khối_lệnh].

Một phần của tài liệu PHẦN I: Mở đầu1. Tổng quan về thiết kế và tự động hóa thiết kế công pot (Trang 48 - 49)