Андрей Коротаев
Высший разум
(209232)
14 лет назад
program arctan;
var
i,n:integer;
x,atan,elem:real;
flag:boolean;
begin
flag:=true;
while flag do
begin
writeln('vvedite x ot -1 do 1');
readln(x);
if (x>-1) and (x<1) then flag:=false
end;
writeln('glubinu rascheta');
readln(n);
atan:=0;
elem:=x;
for i:=1 to n do
begin
atan:=atan+elem;
elem:=elem*(-1)*x*x*(2*i-1)/(2*i+1)
end;
writeln ('arctangens x=',atan)
end.
Пояснения:
1. Программа проверяет, чтобы значение икс было от -1 до 1 исключительно.
2. Глубина расчёта - количество элементов разложения, которое будет браться для расчёта. При N большем 10 разница уже не заметна: хоть 11, хоть 99...
3. Не помню оператор возведения в степень, сделал через домножение предыдущего элемента. Кроме того, при таком подходе будет экономиться время расчёта для больших значений N.