Proc 44. Описать функцию \(\text{Acrtg1}(x, \varepsilon)\) вещественного типа (параметры \(x, \varepsilon\) -  вещественные, \(|x| < 1\), \(\varepsilon > 0\)), находящую приближенное значение функции arctg(x):

\[\text{arctg}(x) = x - x^3/3 +x^5/5 - ... + (-1)^n\cdot x^{2\cdot n + 1}/(2\cdot n+1) + ...\]

В сумме учитывать все слагаемые, модуль которых больше \(\varepsilon\). С помощью Arctg1 найти приближенное значение arctg(x) для данного x при шести данных \(\varepsilon\).

Решение на Python 3

import random
import math

def Arctg1(x,eps):
if eps <= 0:
print("Epsilon should be greater than 0")
y = x
f = x
i = 3
while abs(y) > eps:
y *= (-1) * x * x / i * (i - 2)
i += 2
f += y
#print(i,":",y,":",f)
return f

#x = -0.5
#x = 2
x = 0.9
eps = 0.01
for i in range(0, 6):
print("Arctg(",x,") = ",Arctg1(x,eps),";",math.atan(x))
eps /= 10