Bài này chữa lại như sau là oke :D
Bằng for...do
uses crt;
var i,n:integer;
s:real;
begin
clrscr;
write('Nhap n: '); readln(n);
s:=0;
for i:=1 to n do
if i mod 2 = 1 then s:=s+1/i;
write('s = ',s:4:2);
readln
end.
Bài của em sai ở chỗ xuất kết quả s. Vì giá trị của s luôn luôn là số thực, cho nên khi xuất kết quả phải có định dạng, như trên, chỗ anh in đậm :D
Bằng while...do
uses crt;
var i,n:integer;
s:real;
begin
clrscr;
write('Nhap n: '); readln(n);
s:=0; i:=1;
while i<n do
begin
if i mod 2 = 1 then s:=s+1/i;
inc(i);
end;
write('s = ',s:4:2);
readln
end.
Chương trình tương tự, điểm khác biệt anh đã in đậm ở trên.
:D Giải thích kỹ thế này rồi, mong là em đã hiểu rõ, nắm vững và lần sau gặp lại có thể làm bài tốt ^^