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

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

- 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<6 do

writeln(‘A’);

end.

- 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ệnhwriteln (‘A’);luôn được thực hiện.

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

- Ví dụ về 1 vòng lặp vô hạn: Do a = 5 luôn nhỏ hơn 6 nên điều kiện luôn đúng, do đó vòng lặp không bao giờ kết thúc.

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

Câu lệnh lặp với số lần 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 đã được xác định từ trước.

- Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên

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.

Lý thuyết tổng hợp Tin học lớp 8 Bài 8: Lặp với số lần chưa biết trước chọn lọc năm 2021 – 2022 mới nhất gồm tóm tắt lý thuyết và hơn 500 bài tập ôn luyện Tin 8. Hy vọng bộ tổng hợp lý thuyết Tin học lớp 8 sẽ giúp học sinh củng cố kiến thức, ôn tập và đạt điểm cao trong các bài thi trắc nghiệm môn Tin học lớp 8.

• Nội dung chính

- Cấu trúc lặp với số lần lặp không xác định trước

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

1. 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ú 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.

2. Sơ đồ khối

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

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

- B1: kiểm tra điều kiện

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

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

   - 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)

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

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

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.

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

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

4. Lặp vô hạn lần – lỗi lập trình cần tránh

   - Khi viết chương trình cần tránh việc tạo lên những vòng lặp vô tận, điều này làm cho chương trình chạy mãi không dừng và không ra kết quả mong muốn.

   - Có những trường hợp phải sử dụng vòng lặp vô hạn để tính toán, nhưng nó sẽ tốn nhiều tài nguyên.

   - Ví dụ về 1 vòng lặp vô hạn: do a = 5 luôn nhỏ hơn 6 nên điều kiện luôn đúng, do đó vòng lặp không bao giờ kết thúc.

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

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

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

B. Bài tập trắc nghiệm

Câu 1:Vòng lặp While – do kết thúc khi nào

   A. Khi một điều kiện cho trước được thỏa mãn

   B. Khi đủ số vòng lặp

   C. Khi tìm được Output

   D. Tất cả các phương án

   Vòng lặp While – do là vòng lặp chưa biết trước số lần lặp vì vậy việc lặp chỉ kết thúc khi một điều kiện cho trước được thỏa mãn.

   Đáp án: A

Câu 2:Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì?

   A. Thực hiện < câu lệnh > sau từ khóa Do

   B. Kiểm tra giá trị của < điều kiện >

   C. Thực hiện câu lệnh sau từ khóa Then

   D. Kiểm tra < câu lệnh >

   Việc đầu tiên mà câu lệnh While ... do cần thực hiện là kiểm tra điều kiện. 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 đầu.

   Đáp án: B

Câu 3:Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:

   i := 5;

   While i>=1 do i := i – 1;

   A. 1 lần

   B. 2 lần

   C. 5 lần

   D. 6 lần

   Cho biết câu lệnh sau Do thực hiện 5 lần vì i = 5 mỗi lần kiểm tra i>=1 thì giảm i đi 1 đơn vị qua câu lệnh i := i – 1; vậy câu lệnh được thực hiện 5 lần.

   Đáp án: C

Câu 4:Hãy cho biết kết quả của đoạn chương trình dưới đây:

a:=10; While a < 11 do write (a);

   A. Trên màn hình xuất hiện một số 10

   B. Trên màn hình xuất hiện 10 chữ a

   C. Trên màn hình xuất hiện một số 11

   D. Chương trình bị lặp vô tận

   vì 10<11 nên đưa ra màn hình giá trị của a là 10 qua câu lệnh write(a);

   Đáp án: A

Câu 5:Câu lệnh sau giải bài toán nào:

   While M <> N do

   If M > N then M:=M-N else N:=N-M;

   A. Tìm UCLN của M và N

   B. Tìm BCNN của M và N

   C. Tìm hiệu nhỏ nhất của M và N

   D. Tìm hiệu lớn nhất của M và N

   Câu lệnh trên giải bài toán tìm UCLN của M và N. Với ý tưởng, kiểm tra xem M, N có giá trị khác nhau không. Nếu có thực hiện kiểm tra giá trị nào lớn hơn. Giá trị lớn hơn sẽ được gán bằng hiệ của số lớn trừ số bé. Việc làm thế cứ lặp đi lặp lại đến khi hai giá trị bằng nhau thì đưa ra UCLN của nó.

   Đáp án: A

Câu 6:Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?

   A. Ngày tắm hai lần

   B. Học bài cho tới khi thuộc bài

   C. Mỗi tuần đi nhà sách một lần

   D. Ngày đánh răng 2 lần

   Hoạt động học cho đến khi thuộc bài là lặp với số lần chưa biết trước vì không biết đến khi nào sẽ thuộc, chỉ cần biết thuộc sẽ dừng.

   Đáp án: B

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

   A. While < điều kiện > to < câu lệnh >;

   B. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;

   C. While < điều kiện > do ;< câu lệnh >;

   D. While < điều kiện > do < câu lệnh >;

   cú pháp lệnh lặ với số lần chưa biết trước:

   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.

   Đáp án: D

Câu 8:Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

   A. While S>=108 do

   B. While S < 108 do

   C. While S < 1.0E8 do

   D. While S >= E8 do

   Cấu trúc câu lệnh While- do có dạng:

   While <điều kiện > do < câu lệnh>;

   Ý nghĩa: Câu lệnh được thực hiện khi điều kiện được thỏa mãn. Do vậy mỗi lần thực hiện câu lệnh nó sẽ kiểm tra điều kiện, đúng sẽ thực hiện, sai thì dừng vòng lặp.

   Mà điều kiện của bài là S>108 vì vậy nó sẽ kiểm tra S< 108 thì tính tổng đến khi S>108 thì dừng. Trong Pascal S< 108 được viết là S< 1.0E8.

   Đáp án: C

Câu 9:Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước:

   A. For…do

   B. While…do

   C. If..then

   D. If…then…else

   cú pháp lệnh lặp với số lần chưa biết trước:

    while <điều kiện> do <câu lệnh>;

   Đáp án: B

Câu 10:Hãy đưa ra kết quả trong đoạn lệnh:

   x:=1; While x<=5 do write(‘Hoa hau’);

   A. x:=1

   B. X>=5

   C. Hoa hau

   D. Không có kết quả.

   vì x= 1<5 nên sẽ thực hiện câu lệnh write(‘Hoa hau’); → kết quả ra màn hình là nội dung trong dấu nháy đơn.

   Đáp án: C