Вычислить функцию с заданной точностью - Pascal (251105)

Узнай цену своей работы

Формулировка задачи:

Составить два варианта программы с использованием рекурсивного и итерационного алгоритмов. Вычислить функцию с заданной точностью:

Решение задачи: «Вычислить функцию с заданной точностью»

textual
Листинг программы
const e=0.00001; //точность
function Summa(x,sn,st:real;n:integer):real;
//параметры:  х, начальный член ряда(-1/х),
//начальный текущий член ряда((-1)^n/(x^(2*n+1))), счетчик итераций(от 1)}
var t:real; // изменяющийся текущий член ряда
begin
Summa:=sn;
t:=-st/x/x;
if abs(t)/(2*n+1)<e then  exit;
Summa:=Summa(x,sn+t/(2*n+1),t,n+1);
end;
var x,t,s:real;
    n:integer;
begin
repeat
write('|x|>1 x=');
readln(x);
until abs(x)>1;
writeln ('Сумма рекурсией=',pi/2+Summa(x,-1/x,-1/x,1):0:5);
n:=0;
t:=-1/x;
s:=pi/2+t;
while abs(t)/(2*n+1)>e do
 begin
  n:=n+1;
  t:=-t/x/x;
  s:=s+t/(2*n+1);
 end;
writeln('Сумма итеративно=',s:0:5);
write('arctg(x)=',arctan(x):0:5);
end.

Объяснение кода листинга программы

В этом коде реализована функция вычисления суммы ряда Тейлора для арктангенса. Пользователю предлагается ввести значение переменной x. Если |x|>1, то выводится сообщение об ошибке и запрос на ввод нового значения. Затем, функция вычисляет сумму ряда Тейлора для арктангенса с заданной точностью, используя итерационный и рекурсивный методы. В случае использования итерационного метода, цикл выполняется до тех пор, пока абсолютное значение t не станет меньше заданной точности. Значения переменных x, t и s сохраняются в переменной n. Функция выводит результаты вычислений на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы