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

Câu hỏi trong lớp Xem thêm