Lý thuyết: Cấu trúc lặp trang 42 SGK Tin học 11>

1. Lặp

– Cấu trúc lặp là một điều khiển và tinh chỉnh triển khai việc làm lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi một điều kiện kèm theo nào đó còn đúng .

– Quá trình lặp không thể dừng được gọi là quá trình lặp vô hạn. Điều này xảy ra khi điều kiện để dừng lặp không còn bị biến đổi giá trị sau mỗi lần lặp. Khi đó để thoát lặp vô hạn, cần có các câu lệnh cho phép thoát ngay khỏi lặp.

– Có hai loại cấu trúc lặp : lặp với số lần biết trước và lặp với số lần chưa biết trước .

2. Lặp có số lần biết trước và câu lệnh for-do

Dạng lặp với số lần biết trước dùng để triển khai câu lệnh 1 số ít lần xác lập. Dạng này dùng một biến điều khiến vòng lặp. Trong Pascal mỗi lần triển khai câu lệnh thì biến điều khiến ( giả sử là i ) được tự động hóa 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 tinh chỉnh và điều khiển đạt giá trị xác lập 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 := to do ;

– Dạng lặp lùi :

for := dowto do ;

Trong đó :- biến đếm là biến đơn, thường có kiểu nguyên .- giá trị đầu, giá trị cuối là những 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 triển khai .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 phải thực thi 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 giải trí của dạng lặp tiến hoàn toàn có thể được diễn giải như sau :Bước 1 : Biến điều khiển và tinh chỉnh nhận giá trị đầu .

Bước 2 : Nếu giá trị biến điều khiển và tinh chỉnh nhỏ hơn giá trị cuối thì chuyển đến bước 4. Bước 3 : { giá trị biến tinh chỉnh và điều khiển bằng giá trị cuối } triển khai 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 hóa 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 đổi khác giá trị của biến điều khiển và tinh chỉnh vì sẽ gây ra thực trạng khó theo dõi và quản lí vòng for-do .

3. 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

Dạng 2: Còn thực hiện trong khi <điều kiện> còn đúng.

Trong dạng 1, tiên phong kiểm tra và tính giá trị của điều kiện kèm theo, nếu điều kiện kèm theo nhận giá trị true thì triển khai việc làm ( một lần ). Mỗi lần triển khai việc làm hoàn toàn có thể sẽ làm đổi khác giá trị của điều kiện kèm theo nên đến một lúc nào đó điều kiện kèm theo 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 thi việc làm không làm đổi khác giá trị của điều kiện kèm theo thì cấu trúc lặp lê 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 việc làm 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 nhu cầu điều kiện kèm theo 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 kèm theo để tinh chỉnh và điều khiển triển khai lặp một câu lệnh đơn hoặc kép .Cú pháp :

while <điều kiện> do ;

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 triển khai khi biểu thức điều kiện kèm theo 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 thi, như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 thi lần nào. Nếu biểu thức điều kiện kèm theo luôn nhận giá trị true thì câu lệnh được thực thi mãi, ta gọi là vòng lặp vô hạn .

* Định lí Bohn Jacopini : Mọi quy trình giám sát đều hoàn toàn có thể miêu tả và triển khai dựa trên ba cấu trúc cơ bản là cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp .

Loigiaihay.com