Create ~ Vòng lặp

Vòng lặp (loop) là một thuật ngữ dùng để diễn tả một hành động hay một cụm hành động được lặp đi lặp lại nhiều lần.

Các khối để tạo vòng lặp

repeat...times do...

Khối repeat đơn giản nhất chạy mã trong phần thân của nó với số lần được chỉ định. Ví dụ, khối sau sẽ in Hello! mười lần

Basic Communication

Kết quả:

    
      Hello!
      Hello!
      Hello!
      Hello!
      Hello!
      Hello!
      Hello!
      Hello!
      Hello!
      Hello!
    
  

repeat while...do...

Thực hiện các công việc bên trong thân của nó nếu kiểm điều kiện đầu vào còn đúng.

  1. Một biến có tên total nhận giá trị ban đầu là 0.
  2. Vòng lặp bắt đầu với việc kiểm tra rằng biến total nhỏ hơn 5. Nếu vậy, các khối trong phần thân sẽ được chạy. Nếu không, thoát khỏi vòng lặp, chạy các khối tiếp theo vòng lặp (nếu có).
  3. In ra giá trị hiện tại của biến total
  4. Biến total được cộng thêm một giá trị bằng 1
  5. Đã đến cuối vòng lặp, điều khiển quay trở lại bước 2.
Basic Communication

Kết quả:

    
      1
      2
      3
      4
      5
    
  

Khi vòng lặp hoàn tất, mọi khối tiếp theo (không được hiển thị) sẽ được chạy, giá trị biến total sau khi qua vòng lặp là 5.

repeat until...do...

Thực hiện các công việc bên trong thân của nó nếu kiểm điều kiện đầu vào còn sai

  1. Một biến có tên total nhận giá trị ban đầu là 0.
  2. Vòng lặp bắt đầu với việc kiểm tra rằng biến total lớn hơn 5 là sai. Nếu vậy, các khối trong phần thân sẽ được chạy. Nếu không, thoát khỏi vòng lặp, chạy các khối tiếp theo vòng lặp (nếu có).
  3. In ra giá trị hiện tại của biến total
  4. Biến total được cộng thêm một giá trị bằng 1
  5. Đã đến cuối vòng lặp, điều khiển quay trở lại bước 2.
Basic Communication

Kết quả:

    
      1
      2
      3
      4
      5
      6
    
  

Khi vòng lặp hoàn tất, mọi khối tiếp theo (không được hiển thị) sẽ được chạy, giá trị biến total sau khi qua vòng lặp là 6.

Lưu ý: việc tạo vòng lặp với đầu vào luôn đúng hoặc luôn sai sẽ làm treo chương trình của bạn, tránh thực hiện điều tương tự như sau:

Basic Communication
Basic Communication

count with...from...to...by...do...

Khối count with (được gọi là vòng lặp for trong hầu hết các ngôn ngữ lập trình) sẽ tăng một biến từ giá trị đầu tiên cho tới khi bằng giá trị thứ hai thông qua giá trị gia tăng (giá trị thứ ba),chạy phần thân một lần cho mỗi lần tăng giá trị biến.

Basic Communication

Kết quả:

    
      1
      3
      5
    
  

Như được hiển thị bởi hai vòng lặp sau, mỗi vòng lặp in ra các số 5, 3 và 1, đầu vào đầu tiên có thể lớn hơn đầu vào thứ hai. Hành vi giống nhau cho dù số lượng gia tăng (giá trị thứ ba) là dương hay âm.

Basic Communication

Kết quả:

    
      5
      3
      1
    
  
Basic Communication

Kết quả:

    
      5
      3
      1
    
  

for each item...in list...do...

Tương tự như khối count with, ngoại trừ thay vì đưa ra các giá trị của biến vòng lặp trong một chuỗi số, nó sử dụng các giá trị từ một danh sách lần lượt. Chương trình sau in từng phần tử của danh sách: "alpha", "beta", "gamma".

Basic Communication

Kết quả:

    
      alpha
      beta
      gamma
    
  

break out of loop

Khối break out of loop cung cấp lối ra sớm khỏi một vòng lặp. Chương trình sau in ra "alpha" trong lần lặp đầu tiên và "thoát ra" khỏi vòng lặp vào lần lặp thứ hai khi biến vòng lặp i bằng "beta". Phần tử thứ ba trong danh sách không còn được duyệt qua như thường lệ.

Basic Communication

Kết quả:

    
      alpha
    
  

continue with next iteration of loop

Khi gặp khối này chương trình sẽ bỏ qua không thực hiện các khối tiếp theo sau nó mà chuyển qua lần lặp tiếp theo nếu vòng lặp chưa kết thúc. Chương trình sau in ra "alpha" trong lần lặp đầu tiên, bỏ qua lần lặp thứ 2 và tiếp tục vòng lặp thứ 3 in ra "gamma".

Basic Communication

Kết quả:

    
      alpha
      gamma