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