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.