1 )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.
2 )Lặp với số lần chưa biết trước và câu lệnh while-do
Lặp với số lần chưa biết trước có hai dạng:Dạng 1 : Trong khi <điều kiện> còn đúng thì còn thực hiện <công việc>
Dạng 2: Còn thực hiện <công việc> trong khi <điều kiện> còn đúng.
Trong dạng 1, đầu tiên kiểm tra và tính giá trị của điều kiện, nếu điều kiện nhận giá trị true thì thực hiện công việc (một lần). Mỗi lần thực hiện công việc có thể sẽ làm thay đổi giá trị của điều kiện nên đến một lúc nào đó điều kiện lặp không còn đúng nữa và cấu trúc lặp sẽ được kết thúc. Ngược lại, nếu khi thực hiện công việc không làm thay đổi giá trị của điều kiện thì cấu trúc lặp kéo dài mãi (gọi là vòng lặp vô hạn). Để thoát khỏi vòng lặp vô hạn, trong công việc cần có câu lệnh rẽ nhánh thoát khỏi vòng lặp vô hạn khi thỏa mãn điều kiện rẽ nhánh.
Trong Pascal, lặp với số lần chưa biết trước là dạng while-doCâu lệnh while-do chứa một biểu thức điều kiện để điều khiển thực hiện lặp một câu lệnh đơn hoặc kép.
Cú pháp:
while <điều kiện> do <câu lệnh> ;
Trong đó:
Điều kiện là biểu thức quan hệ hoặc lôgic;
Câu lệnh là một câu lệnh cùa Pascal.
- Hoạt động của câu lệnh while-do:
Câu lệnh viết sau từ khóa do được thực hiện khi biểu thức điều kiện còn nhận giá trị true. Biểu thức điểu kiện được tính giá trị trước khi câu lệnh được thực hiện, nlhưng nếu biểu thức điểu kiện đã nhận giá trị false ngay từ đầu thì câu lệnh không được thực hiện lần nào. Nếu biểu thức điều kiện luôn nhận giá trị true thì cáu lệnh được thực hiện mãi, ta gọi là vòng lặp vô hạn.
3) Tìm ở phần 1, 2
1/ Cú pháp câu lệnh lặp:
For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>.
Trong đó: + For, to, do: là từ khóa
+ Biến đếm: kiểu dữ liệu là số nguyên
+ Giá trị đầu bé hơn< giá trị cuối
+ VÒng lặp= (gtc-gtđ)+1
2/ Cú pháp câu lệnh lặp số lần chưa biết trước
While <điều kiện> do <câu lệnh>.
Trong đó: +Điều kiện chứa phép so sánh
+ Câu lệnh: có thể đơn hoặc ghép( đặt trong begin. . .end;)
3/ Câu lệnh For-do: KHi thực hiện, ban đầu biến đếm sẽ nhận giá tị bằng giá trị đầu, sau mỗi vòng lặp, biến đếm tự đông tăng lên một đơn vị cho đến khi bằng giá trị cuối.
Cách thực hiện câu lệnh While-do:
Bước 1: Kiểm tra điều kiện.
Bước 2: Nếu điều kiện sai thì thì lệnh lặp kết thúc. Nếu điều kiện đúng thì câu lệnh được thực hiện và quay lại bước 1.
4/ Cú pháp: Var<tên biến mảng>: array[chỉ số đầu. . .chỉ số cuối] of <kiểu dữ liệu>.
Trong đó: - chỉ số đầu, cuối: số nguyên
var, array, of: là từ khóa
- kiểu dữ liệu: integer, real