begin var error part full double var integer error strtofloat Edit1 Te

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
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.