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