Sự khác biệt giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với số lần chưa biết trước

Cùng Top lời giảitrả lời chi tiết, chính xác về “Câu lệnh lặp với số lần chưa biết trước”và đọc thêm phần kiến thức tham khảo giúp các bạn học sinh ôn tập và tích lũy kiến thức bộ môn Tin học 8.

Câu lệnh lặp với số lần chưa biết trước

- Để 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ấu trúc:

While do ;

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.

- Câu lệnh lặp với số lần chưa biết trước:

+ Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.

+ Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.

Kiến thức mở rộng về câu lệnh lặp

1. Sơ đồ khối

Các bước thực hiện như sau:

- Bước 1: Kiểm tra điều kiện

- Bước 2: Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.

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 1 điều kiện cụ thể và chỉ dừng lại khi điều kiện không thỏa mãn.

2. Ví dụ về số lần lặp không biết trước

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?

Đ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ê:

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

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

var a:integer;

begin

a:=5;

while a

Chủ Đề