Tìm hiểu đoạn lệnh sau 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

Đề bài

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ẽ thực hiện 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 ← 10, x ← 0.5

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

Bước 3. S ← S - x và quay lại bước 2.

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 và 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 chi tiết

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 là S = 5.0

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

Tìm hiểu đoạn lệnh sau 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

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 là S = 10. 

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

Tìm hiểu đoạn lệnh sau 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

Loigiaihay.com

Đề 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

Tìm hiểu đoạn lệnh sau 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
Viết chương trình tính tổng từ 1 đến 50 (Tin học - Lớp 8)

Tìm hiểu đoạn lệnh sau 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

1 trả lời

Kết quả của câu lệnh sau là hình nào (Tin học - Lớp 5)

1 trả lời

Rùa sẽ vẽ hình nào sau đây khi em gõ lệnh (Tin học - Lớp 4)

2 trả lời

Câu lệnh nào điều khiển chú rùa vẽ hình sau (Tin học - Lớp 5)

2 trả lời

Chọn lệnh đúng để nạp thủ tục có tên tamgiac (Tin học - Lớp 5)

3 trả lời

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

hãy tìm hiểu đoạn lệnh sau đây và chi biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp và khi kết thúc giá trị của S là bao nhiêu S:=0 , n:=0 while S<=10+o begin:=n+1,S:=S+n end.

Các câu hỏi tương tự

Hãy tìm hiểu thuật toán sau đây, và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện 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:=10, X:=0.5.

Bước 2: Nếu S<=6.2, chuyển tới bước 4.

Bước 3: S:=S – X và quay lại bước 2.

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

b,Thuật toán 2

B1: s:=10, n:=0

B2: nếu S >=10, chuyển tới bước 4

B3: n:=+3,  s:= s-n và quay lại bước 2 

B4: Thông báo S và KTTT

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

Hãy tìm hiểu đ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 và khi kết thúc giá trị của S bằng bao nhiêu ?

S := 0; n :=1

While S <= 18 do

Begin n := n +3; S := S + n; end;

Các câu hỏi tương tự

Hãy tìm hiểu thuật toán sau đây, và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện 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:=10, X:=0.5.

Bước 2: Nếu S<=6.2, chuyển tới bước 4.

Bước 3: S:=S – X và quay lại bước 2.

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

b,Thuật toán 2

B1: s:=10, n:=0

B2: nếu S >=10, chuyển tới bước 4

B3: n:=+3,  s:= s-n và quay lại bước 2 

B4: Thông báo S và KTTT

Với giải bài 4 trang 70 sgk Tin học lớp 8 được biên soạn lời giải chi tiết sẽ giúp học sinh biết cách làm bài tập môn Tin học 8. Mời các bạn đón xem:

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

Bài 4 trang 70 sgk Tin học lớp 8: 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)

Tìm hiểu đoạn lệnh sau 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

b)

Tìm hiểu đoạn lệnh sau 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

Lời giải:

a)

Tìm hiểu đoạn lệnh sau 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

    Chương trình thực hiện 10 vòng lặp.

b)

Tìm hiểu đoạn lệnh sau 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

    Chương trình thực hiện lặp vô hạn vì S luôn nhỏ hơn 10.

    Nhận xét: ở câu b, thiếu đoạn begin …end; nên lệnh lặp chỉ thực hiện n tăng thêm 1, còn S chỉ tăng 1 và không lặp nên xuất hiện lỗi lặp vô hạn.

Xem thêm lời giải bài tập Tin học lớp 8 hay, chi tiết khác:

Bài 1 trang 70 sgk Tin học 8: 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...

Bài 2 trang 70 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...

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

Bài 5 trang 70 sgk Tin học 8: Hãy chỉ ra lỗi trong các câu lệnh sau đây:...