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