Cho đoạn trương trình sau: Uses crt; Var i, s : integer; Begin S:=0; For i:= 6 downto 2 do S:= s+(spr(i) +1)/(i+5); Writeln ( 'tong = ', s:8); End. Hãy đưa ra kết quả s sau khi chạy truơng trình trên
1 câu trả lời
Chương trình có một số lỗi nên mình sửa lại cho bạn thế này nhé!
Lỗi 1: S ở đây phải kiểu số thực (ở đây mình dùng extended) vì ở phần thân chương trình thực hiện phép chia nên s sẽ là số thực
Lỗi 2: Công thức của bình phương là sqr(x) chứ không phải spr(x) nhé!
---
Uses crt;
Var i: integer;
s: extended;
Begin
Clrscr;
s:=0;
For i:=6 downto 2 do
Begin
S:=S+(Sqr(i)+1)/(i+5);
Writeln(S:0:2);
End;
Writeln('Tong = ',s:0:2);
Readln
End.
---
Ban đầu, S có giá trị bằng 0
Biến i được chạy ngược từ 6 về 2
---
i = 6
$=> S = S+ \frac{i^{2}+1}{i+5}$ = $S = 0 + \frac{6^{2}+1}{6+5}=3,36$
---
i = 5
$=> S = S + \frac{i^{2}+1}{i+5}$ = $S = 3,36+ \frac{5^{2}+1}{5+5}=5,96$
---
i=4
$=> S = S+ \frac{i^{2}+1}{i+5}$ = $S = 5,96+ \frac{4^{2}+1}{4+5}=7,85$
---
i=3
$=> S = S+ \frac{i^{2}+1}{i+5}$ = $S = 7,84+ \frac{3^{2}+1}{3+5}=9,10$
---
i=2
$=> S = S+ \frac{i^{2}+1}{i+5}$ = $S = 9,10+ \frac{2^{2}+1}{2+5}=9,82$
---
Vì vậy, sau khi chạy xong chương trình, kết quả của S sẽ là 9,82