begin var error, part, x, full: double; var i, n: integer; error:= strtofloat(Edit1.Text); // точность (задается преподом) part:= error + 1; // Устанавливам такое значение, чтобы однозначно был вход в цикл n:= 1; // степень x на шаге x:= strtofloat(Edit2.Text); full:=0; // переменная для хранения ответа while (part >= error) do begin part:= 1; for i:=1 to n do begin part:= - part*x; // Считаем значение члена ряда (слагаемого) по формуле (-1)^(n) * x^n end; part:= - part/n; // Умножаем на минус и делим на n inc(n); // Увеличиваем степень х на 1 для следующего шага full:= full + part; // Прибавляем слагаемое к итоговому ответу end; Edit3.Text:= floattostr(full); end.