Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lặp với số lần chưa biết trước - Coggle Diagram
Lặp với số lần chưa biết trước
Cách hoạt động lặp với số lần chưa biết trước
Ví dụ 1:
một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi có người bắt máy.
Chưa thể biết trước được, điều kiện để kết thúc vòng lặp này là có người nhấc máy
Ví dụ 2:
Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
Điều kiện: Khi tổng Tn nhỏ nhất lớn hơn 1000 thì kết thúc hoạt động lặp
Bước 1. S ← 0, n ← 0
Bước 2. Nếu S ≤ 1000, n ← n + 1; ngược lại chuyển tới Bước 4
Bước 3. S ← S + n và quay lại Bước 2
Bước 4. In kết quả: S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán
Kết luận:
Việc lặp lại một nhóm hoạt động với số lần chưa xác định trước phụ thuộc vào một điều kiện cụ thể được thỏa mãn và chỉ dừng lại khi điều kiện không thỏa mãn.
Để chỉ dẫn máy tính thực hiện các hoạt động lặp trên, ta có thể sử dụng câu lệnh có dạng: Lặp với số lần chưa biết trước
Lặp vô hạn – Lỗi lập trình cần tránh
Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ kết thúc.
Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn đúng nên lệnh writeln(‘A’); luôn được thực hiện.
var a:integer;
begin
a:=5;
while a<6 do writeln(‘A’);
end.
Do vậy, khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không “rơi” vào những “vòng lặp vô tận”.