Hãy tìm hiểu đoạn lệnh sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp và khi kết thúc giá trị của S bằng bao nhiêu ?
S := 0; n :=1
While S <= 18 do
Begin n := n +3; S := S + n; end;
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
a. Thuật toán 1 :
Máy tính sẽ thực hiện 10 vòng lặp , khi kết thúc thuật toán giá trị của S = 5.0
Đoạn chương trình Pascal tương ứng:
Quảng cáo
S := 10; x := 0.5;
While S > 5.2 do
S := S – x;
Writeln(S);
b. Thuật toán 2 :
Máy tính sẽ không thực hiện vòng lặp nào do điều kiện không thỏa mãn, khi kết thúc thuật toán giá trị của S = 10
Đoạn chương trình Pascal tương ứng:
S := 10; n := 0;
While S < 10 do
Begin
n := n + 3;
S := S – n
End;
Writeln(S);
Với đoạn lẹnh này chương trình sẽ thực hiện 3 vòng lặp và kết thúc giá trị của S=21.
Lần thứ nhất:
n=n+3=1+3=4; S=S+n=0+4=4;
Lần thứ hai:
\(n=n+3=4+3=7;S=S+n=4+7=11;\)
Lần thứ ba:
\(n=n+3=7+3=10;S=S+n=11+10=21;\)
đến lần này S=21 mà 21>18 không thỏa mãn điều kiện nên lệnh lặp không được thực hiện, câu lẹnh kết thúc, S=21 lặp 3 lần.