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


Đề bài

Hãy tìm hiểu mỗi đoạn chương trình Pascal 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 chi tiết

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

Vòng lặp

n:= n+1

S:= S+n

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


b) Chương trình thực hiện vô hạn vòng lặp do giá trị của S luôn luôn nhỏ hơn 10.

Nhận xét: Cần chú ý về lỗi vòng lặp vô hạn. Ở phần b do thiếu đoạn begin end để đóng mở nên sau lệnh lặp chỉ thực hiện lệnh tăng n lên 1, còn lệnh tăng S lên 1 không thực hiện được. Do đó S luôn bằng 0 như ban đầu. Lỗi lặp vô hạn xuất hiện.

Loigiaihay.com


Bình chọn:
4.1 trên 28 phiếu
  • Câu 3 trang 66 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?...

  • Câu 2 trang 66 SGK tin học 8

    Hãy phát biểu sự 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 1 trang 66 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.

>> Học trực tuyến lớp 8 trên Tuyensinh247.com cam kết giúp học sinh lớp 8 học tốt, hoàn trả học phí nếu học không hiệu quả.


Hỏi bài