cho biết kết quả của đoạn chương trình:
i:=5; S:=0;
While i>0 do
Begin
If i mod 3=0 then S:=S+i;
i:=i+1;
end;
Write(S);
cho biết kết quả của đoạn chương trình:
i:=5; S:=0;
While i>0 do
Begin
If i mod 3=0 then S:=S+i;
i:=i+1;
end;
Write(S);
Chương trình sẽ bị lỗi lặp vô hạn lần, vì i luôn lớn hơn 0 khi chạy vòng lặp
-Vòng 1: i ban đầu bằng 0. Kiểm tra điều kiện i<5 —> ĐK đúng thực hiện câu lệnh s=s+i <=> s=0+0=0 ; i=i+1 <=> i=0+1=1.
Vòng 2: i=1 , kiểm tra điều kiện i<5 —> ĐK đúng thực hiện câu lệnh : s=s+i <=> s=0+1=1; i=i+1 <=> i=1+1=2.
Vòng 3: i=2, kiểm tra điều kiện i<5 —> ĐK đúng thực hiện câu lệnh : s=s+i <=> s=1+2=3; i=i+1 <=> i=2+1=3.
Vòng 4: i=3, kiểm tra điều kiện i<5 —> ĐK đúng thực hiện câu lệnh : s=s+i <=> s=3+3=6; i=i+1 <=> i=3+1=4.
Vòng 5: i=4, kiểm tra điều kiện i<5 —> ĐK đúng thực hiện câu lệnh : s=s+i <=> s=6+4=10; i=i+1 <=> i=4+1=5.
i=5, kiểm tra điều kiện i<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
xin hay nhất