C1. Dạng lặp với số lần biết trước dùng để thực hiện câu lệnh một số lần xác định. Dạng này dùng một biến điều khiến vòng lặp. Trong Pascal mỗi lần thực hiện câu lệnh thì biến điều khiến (giả sử là i) được tự động tăng (nhận giá trị tiếp theo là succ(i)) hoặc giảm (nhận giá trị nhỏ hơn ngay trước pred(i)). Đến khi biến điều khiển đạt giá trị xác định thì vòng lặp kết thúc.
Câu lệnh for - do với hai dạng tiến và lùi:
- Dạng lặp tiến :
for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh> ;
- Dạng lặp lùi:
for <biến đếm>:= <giá trị cuối> dowto <giá trị đầu> do <câu lệnh> ;
Trong đó:
- biến đếm là biến đơn, thường có kiểu nguyên.
- Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không được thực hiện.
Hoạt động của lệnh for — do:
Ở dạng lặp tiến, câu lệnh viết sau từ khóa ải thực hiện tuần tự, với biến đếm lân lượt nhận giá trị từ giá trị đầu đến giá trị cuối
Hoặc hoạt động của dạng lặp tiến có thể được diễn giải như sau:
Bước 1: Biến điều khiển nhận giá trị đầu.
Bước 2: Nếu giá trị biến điều khiển nhỏ hơn giá trị cuối thì chuyển đến bước 4. Bước 3: {giá trị biến điều khiển bằng giá trị cuối} thực hiện câu lệnh, sau đó dừng lặp, chuyên tới câu lệnh tiẻp theo vòng lặp.
Bước 4: Thực hiện câu lệnh sau do và tăng biến điều khiên tới giá trị tiếp theo.
Ở dạng lặp lùi, câu lệnh viết sau từ khóa do được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.
Ở dạng lặp lùi này giá trị của biến điểu khiên được tự động giảm xuống giá trị tiếp theo sau mỗi lần lặp.
Lưu ý: Trong vòng lặp không được chứa lệnh làm thay đổi giá trị của biến điều khiển vì sẽ gây ra tình trạng khó theo dõi và quản lí vòng for-do.