Помогите пожалуйста исправить ошибку "неверная вещественная операция (7.PAS, строка 9)"

уже не знаю как исправить

задание: для натурального n и действительного x подсчитать сумму S=-1/2 + 1/2^2 - 1/2^3 +...+(-1)^n / 2^n

program summa;
uses crt;
var n,i:integer; s:real;
begin clrscr;
writeln ('vvedite n');
readln (n);
s:=0;
for i:=1 to n do
s:=s+exp(ln(-1)*i)/exp(ln(2)*i);
writeln ('s=', s);
readln
end.

1

Ответы и объяснения

Лучший Ответ!
2012-03-23T12:36:13+04:00

ошибка в том что натуральный логарифм (-1) не существует

 

program summa;
uses crt;
var n,i:integer; s:real;

p1,p2:integer;
begin clrscr;
writeln ('vvedite n');
readln (n);
s:=0;

p1:=-1;

p2:=2;
for i:=1 to n do

begin
s:=s+p1/p2;

p1:=-p1;

p2:=p2*2;

end;
writeln ('s=', s);
readln;
end.