Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bài 8: Lặp với số lần chưa biết trước tải xuống, image - Coggle Diagram
Bài 8: Lặp với số lần chưa biết trước
1. Lệnh lặp với số lần chưa biết trước
:star:
Để viết chương trình chỉ dẫn máy tính thực hiện xác hoạt động lặp mà chưa xác định trước được số lần lặp, ta có thể sử dụng câu lệnh có dạng lặp với số lần chưa xác định
Cú pháp: while <điều kiện> do <câu lệnh>; trong đó:
Điều kiện: thường là 1 phép so sánh
Câu lệnh: có thể là câu lệnh đơn giản hay câu lệnh ghép.
3. Ví dụ về số lần lặp không biết trước
:fire:
Ví dụ 1:
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?
:red_flag:
Đ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
Mô tả thuật toán bằng liệt kê:
B1: S 0, n 0
B2: Nếu S ≤ 1000, n n + 1; ngược lại chuyển tới Bước 4
B3: S S + n và quay lại Bước 2
B4: 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( thuật toán chỉ dừng lại khi S>1000)
Ví dụ 2
Chúng ta biết rằng, nếu n ( n >0) càng lớn thì 1/n càng nhỏ, nhưng luôn lớn hơn 0. Với giá trị nào của n thì 1/n < 0.005 hoặc 1/n < 0.003? chương trình dưới đây tìm số n nhỏ nhất để 1/n nhỏ hơn 1 sai số cho trước. :red_flag:
2.Lặp vô hạn lần- Lỗi lập trình cần tránh
:pencil2:
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. :warning:
Ví dụ:
:!:
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, giá trị các biến trong điều kiện của 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