Hãy tìm hiểu thuật toán sau đây và cho biết khi thực hiện thuật toán máy tính sẽ thực hiện 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 thuật toán đó Bước 1 s:=o; i:=1 Bước 2 nếu S>=5 thì chuyển tới bước 4 Bước 3 s:=s+i và quay lại bước 2 Bước 4 thông báo S và kết thúc thuật toán
2 câu trả lời
Máy sẽ thực hiện 6 vòng lặp:
s=0+1=1
s=1+1=5
s=2+1=3
s=3+1=4
s=4+1=5
s=5+1=6
vậy kết quả cuối s=6
chương trình :
program ct;
uses crt;
var s,i:integer;
begin
clrscr;
s:=0; i:=1;
while s<=5 do s:=s+i;
writeln('s=',s);
readln
end.
- Giá trị ban đầu của s = 0, i = 1
- Lần lặp 1 : s = 0 >= 5 ⇒ Điều kiện sai ⇒ s = s + i = 0 + 1 = 1
- Lần lặp 2 : s = 1 >= 5 ⇒ Điều kiện sai ⇒ s = s + i = 1 + 1 = 2
- Lần lặp 3 : s = 2 >= 5 ⇒ Điều kiện sai ⇒ s = s + i = 2 + 1 = 3
- Lần lặp 4 : s = 3 >= 5 ⇒ Điều kiện sai ⇒ s = s + i = 3 + 1 = 4
- Lần lặp 5 : s = 4 >= 5 ⇒ Điều kiện sai ⇒ s = s + i = 4 + 1 = 5
- s = 5 >= 5 ⇒ Điều kiện đúng ⇒ Chuyển tới bước 4
- Giá trị s : 5
- Số lần lặp : 5
* Viết chương trình :
uses crt;
var i, s : integer;
begin
clrscr;
s := 0; i := 1;
while s < 5 do
s := s + i;
write(s);
readln
end.