uses crt;
var x,e,t,sm,smi:real;
k:integer;
begin
clrscr;
write('x=');readln(x);
write('e=');readln(e);
k:=1;t:=-x;sm:=t/k;{начальные значения (t-числитель дроби x^k*(-1)^k)}
while abs(sm-smi)>=e do{пока модуль разности 2х соседних значений превышает точность}
begin
k:=k+1;{увеличиваем к}
smi:=sm;{запоминаем предыдущее значение}
t:=t*(-x);{рекуррентно считаем числитель}
sm:=sm+t/k;{новая сумма}
end;
write('sm=',sm:0:5,' smi=',smi:0:5,' tochnost=',abs(sm-smi):0:5);
readln
end.