Các bài tập về lặp với số lần chưa biết trước

1.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 do ; trong đó:âu>

+ Đ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.

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

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

Cú pháp: While  do ;

Trong đó:

– While, do: là các từ khóa

– Điều kiện: thường là một 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

Hoạt động:

– 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 câu 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

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

2. Bài tập minh họa

Bài 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?

Hướng dẫn giải

Đ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

Mô tả thuật toán bằng sơ đồ khối:

Bài 2: Viết câu lệnh in ra 5 số tự nhiên liên tiếp bắt đầu bằng số 1.

Hướng dẫn giải

Sử dụng lệnh lặp với số lần lặp chưa biết trước while…do

Đoạn chương trình mẫu:

n:=1

while n

begin 

     writeln(n);

     n:=n+1;

end;

3. Luyện tập

3.1. Bài tập tự luận

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

Câu 2: 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;

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

a:=10; While a

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

x:=1; While x

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

Câu 2: 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 3: 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

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

A. While to ;

B. While to do ;

C. While do ;;

D. While do ;

Câu 5: 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

C. While S

D. While S >= E8 do

Câu 6: 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

4. Kết luận

Sau khi học xong bài 8 môn Tin học 8 các em học sinh nắm được một số nội dung chính sau đây:

  • Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình.
  • Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước While…do trong Pascal.
  • Vận dụng được câu lệnh While…do để giải các bài tập có cấu trúc lặp với số lần chưa biết trước.

Các em làm bài tập gửi cho thầy bộ môn của lớp:

- 11T, 11L, 11I: (thầy Diệu)

- 11H, 11S, 11V, 11A, 11G:  (thầy Lâm)

  • Tải app VietJack. Xem lời giải nhanh hơn!

  • Trắc nghiệm Tin học 8 Bài 8 (có đáp án): Lặp với số lần chưa biết trước

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

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.

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.

Xem thêm các bài Lý thuyết và câu hỏi trắc nghiệm Tin học lớp 8 có đáp án hay khác:

Xem thêm các loạt bài Để học tốt Tin học 8 hay khác:

  • Lý thuyết & 120 câu trắc nghiệm Tin học 8
  • Top 40 Đề thi Tin học 8 có đáp án

Giới thiệu kênh Youtube VietJack

  • Hỏi bài tập trên ứng dụng, thầy cô VietJack trả lời miễn phí!

  • Hơn 20.000 câu trắc nghiệm Toán,Văn, Anh lớp 8 có đáp án

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Nhóm học tập facebook miễn phí cho teen 2k8: fb.com/groups/hoctap2k8/

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Loạt bài Giải bài tập Tin học 8 | Soạn Tin học lớp 8 | Trả lời câu hỏi Tin học 8 của chúng tôi được biên soạn bám sát nội dung sgk Tin học lớp 8.

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.

ly-thuyet-trac-nghiem-tin-hoc-8.jsp

Video liên quan

Chủ đề