Bài 8: Lặp với số lần chưa biết trước

Em hãy nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước

Câu 1 trang 70 SGK tin học 8

Em hãy nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước

Lời giải : 

– Tập lái xe đến khi biết lái

– Học thuộc lòng một bài thơ cho tới khi bố mẹ kiểm tra là đã thuộc thì mới kết thúc, nếu không thì phải học lại…


Câu 3 trang 70 SGK tin học 8

Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ bao
nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể
hiện các thuật toán đó!

a) Thuật toán 1

Bước 1. S

Bước 2. Nếu S 5.2, chuyển tới bớc 4.

Bước 3. S

Bước 4. Thông báo S và kết thúc thuật toán.

b) Thuật toán 2

Bước 1. S 10, n  0.

Bước 2. Nếu S 10, chuyển tới bớc 4.

Bước 3. n n + 3, S = S-n quay lại bước 2.

Bước 4. Thông báo S và kết thúc thuật toán.

Lời giải : 

 a. Thuật toán 1 :

Máy tính sẽ thực hiện 10 vòng lặp , khi kết thúc thuật toán giá trị của S = 5.0

   Đoạn chương trình Pascal tương ứng:

   S := 10;  x := 0.5;

   While S > 5.2 do

                       S := S – x;

   Writeln(S);

b. Thuật toán 2 :

Máy tính sẽ không thực hiện vòng lặp nào do điều kiện không thỏa mãn, khi kết thúc thuật toán giá trị của S = 10

Đoạn chương trình Pascal tương ứng:

S := 10;  n := 0;

   While S < 10 do

                 Begin

                       n := n + 3;

                       S := S – n

                   End;                     

   Writeln(S);


Câu 4 trang 71 SGK tin học 8

Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp ? Hãy rút ra nhận xét của em.

 a. S := 0;  n := 0;

   While S <= 10 do

               begin n := n + 1 ;

                    S := S + n end;

b. S := 0;  n := 0;

   While S <= 10 do

                n := n + 1 ;

                S := S + n ;

Lời giải : 

a. 

Đoạn chương trình trên máy tính thực hiện 5 vòng lặp : 

VL

n := n+1

S := S+n

 1  1  1
 2  2  3
 3  3  6
 4  4  10
 5  5  15

b. Đoạn chương trình trên máy tính lặp vô hạn lần.


Câu 2 trang 70 SGK tin học 8

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

Lời giải :

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.


Câu 5 trang 70 SGK Tin học lớp 8

Hãy chỉ ra lỗi trong các câu lệnh sau đây:

a) X:= 10; while X: = 10 do X: = X + 5;

b) X:= 10; while X = 10 do X = X + 5;

c) S:= 0; n:=0;

while S <= 10 do n:= n + 1; S:= S + n ;

Lời giải : 

a. Sai ở :  while X:=10

X:= 10; while X: = 10 do X: = X + 5; 

sửa thành X:= 10; while X = 10 do X : = X + 5;

b. Sai ở : X = X + 5

X:= 10; while X = 10 do X = X + 5;

Sửa thành :  X:= 10; while X = 10 do X : = X + 5;

c. Thiếu begin và end trong vòng lặp

Sửa thành 

S:= 0; n:=0;

while S <= 10 do Begin n:= n + 1; S:= S + n ;end;

Giaibaitap.pro.vn

Cảm ơn bạn đã theo dõi bài viết tại Giải Bài Tập. Mời các bạn cùng xem các nội dung học tập, giải trí và các kiến thức thú vị khác tại đây. Chúc các bạn lướt web vui vẻ !

Chia sẻ bài viết

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chuyển hướng trang web