Вычислить функцию с заданной точностью - 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
. Функция выводит результаты вычислений на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д