Sau khi thực hiện đoạn chương trình sau : S : = 0 ; n : = 0 ; While S < = 5 do Begin n : = n + 1 ; S : = S + n ; end ; Biến S có giá trị bằng bao nhiêu ?

2 câu trả lời

Mô tả lặp trong vòng lặp while..do :

-Vòng 1: n ban đầu bằng 0. Kiểm tra điều kiện n<5 ---> ĐK đúng thực hiện câu lệnh s=s+n <=> s=0+0=0 ; n=n+1 <=> n=0+1=1.

Vòng 2: n=1 , kiểm tra điều kiện n<5 ---> ĐK đúng thực hiện câu lệnh : s=s+n <=> s=0+1=1; n=n+1 <=> n=1+1=2.

Vòng 3: n=2, kiểm tra điều kiện n<5 ---> ĐK đúng thực hiện câu lệnh : s=s+n <=> s=1+2=3; n=n+1 <=> n=2+1=3.

Vòng 4: n=3, kiểm tra điều kiện n<5 ---> ĐK đúng thực hiện câu lệnh : s=s+n <=> s=3+3=6; n=n+1 <=> n=3+1=4.

Vòng 5: i=4, kiểm tra điều kiện n<5 ---> ĐK đúng thực hiện câu lệnh : s=s+n <=> s=6+4=10; n=n+1 <=> n=4+1=5.

n=5, kiểm tra điều kiện n<5 ---> ĐK sai ---> kết thúc

Vậy giá trị s sau khi thực hiện đoạn chương trình đó là : 10

- Giá trị ban đầu biến S = 0, n = 0

+ S <= 5 ⇔ 0 <= 5

⇒ Điều kiện đúng

⇒ n = n + 1 = 0 + 1 = 1

⇒ S = S + n = 0 + 1 = 1

+ S <= 5 ⇔ 1 <= 5

⇒ Điều kiện đúng

⇒ n = n + 1 = 1 + 1 = 2

⇒ S = S + n = 1 + 2 = 3

+ S <= 5 ⇔ 3 <= 5

⇒ Điều kiện đúng

⇒ n = n + 1 = 2 + 1 = 3

⇒ S = S + n = 3 + 3 = 6

+ S <= 5 ⇔ 6 <= 5

⇒ Điều kiện sai, kết thúc vòng lặp

=> Giá trị biến S = 6