Vòng lặp theo biến đếm

Một phần của tài liệu vba (Trang 45 - 47)

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

8.3.1.Vòng lặp theo biến đếm

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

8.3.1.Vòng lặp theo biến đếm

Thực hiện lặp một khối lệnh theo một biến đếm với số lần lặp xác định, ví dụ như khi ta cần tính tổng của các số nằm giữa hai số nào đó.

Các từ khóa: For, to, Step, Next Cú pháp:

For <biến_đếm>=<Bắt_Đầu> To <Kết_Thúc> [Step <bước_nhảy>] [Khối_lệnh]

Next [<biến_đếm>]

Cấu trúc lặp này thực hiện theo trình tự sau: Ø

ØGán <Biến_đếm> bằng giá trị <Bắt_đầu> Ø

ØSo sánh <Biến_đếm> với giá trị <Kết_thúc>: ƒ

ƒ Nếu nhỏ hơn hoặc bằng: thực hiện các lệnh bên trong [Khối_lệnh] và tựđộng cộng vào <Biến_đếm> một giá trị bằng <bước_nhảy> nếu có từ khóa Step, còn không thì cộng thêm 1 và quay lại bước so sánh <Biến_đếm> với giá trị<Kết_thúc>. ƒ

ƒ Nếu lớn hơn: kết thúc khối lệnh lặp. Ví dụ sau tính tổng của các số từ 1 đến 10:

Dim i As Integer Dim Tong As Integer Tong = 0 For i = 1 To 10 Step 1 Trường hợp 1 khối_lệnh_1 khối_lệnh_n khối_lệnh_else TRUE ... ... Trường hợp n FALSE FALSE TRUE

Tong = Tong + i Next

Debug.Print ("Tong = " & Tong) Kết quả như sau:

Ví dụ sau tính tổng của các số chẵn từ 0 đến 10: Dim i As Integer

Dim Tong As Integer Tong = 0

For i = 0 To 10 Step 2 Tong = Tong + i Next

Debug.Print ("Tong = " & Tong) Kết quả như sau:

Chú ý: Khi giá trị của <bước_nhảy> là âm (<0) thì cấu trúc lặp sẽ thực hiện trình tự đếm ngược, nghĩa là vai trò của giá trị <bắt_đầu> và <kết_thúc> đổi chỗ cho nhau.

Ví dụ tính tổng của các số chẵn từ 0 đến 10 sử dụng vòng lặp đếm ngược: Dim i As Integer

Dim Tong As Integer Tong = 0

For i = 10 To 0 Step -2 Tong = Tong + i Next

Debug.Print ("Tong = " & Tong) Kết quả như sau:

Nếu như muốn thoát khỏi vòng lặp xác định FOR khi mà số lần lặp chưa đủ thì ta sử dụng từ khóa Exit For.

Ví dụ sau sẽ tính tổng của các số chẵn từ 0 đến 10, nhưng sẽ dừng vòng lặp FOR ngay khi tổng lớn hơn 20:

Dim i As Integer Dim Tong As Integer Tong = 0

For i = 10 To 0 Step -2 Tong = Tong + i

If Tong > 20 Then Exit For Next

Debug.Print ("Tong = " & Tong) Kết quả như sau: (10 + 8 + 6 = 24)

Một phần của tài liệu vba (Trang 45 - 47)