Составить программу для вычисления значения функции - Pascal (80950)
Формулировка задачи:
Проверьте пожалуйста правильность программы.
Составить программу для вычисления значения функции y =arctg(x) с помощью разложения функции в степенной ряд:
arctg(x) = x – x3/3 + x5/5 – x7/7 + … + (–1)n x2n+1/(2n+1) + ...
Листинг программы
- var
- eps:real;
- x,r,k,y,c:real;
- begin
- writeln ('введите точность вычислений');
- readln (eps);
- repeat
- writeln ('введите аргумент [-1;1]');
- readln (x);
- until ((x>=-1) and (x<=1));
- k:=1;
- y:=0;
- r:=x;
- while abs(r)>eps do
- begin
- y:=y+r;
- k:=k+2;
- r:=-r*x*x/k;
- end;
- writeln ( 'y = ', y:5:3);
- c:= arctan(x);
- writeln (c);
- end.
Решение задачи: «Составить программу для вычисления значения функции»
textual
Листинг программы
- var eps:real;
- x,r,y:real;
- k:integer;
- begin
- repeat
- write ('введите аргумент [-1;1] x=');
- readln (x);
- until abs(x)<=1;
- repeat
- write ('введите точность вычислений (0;1) eps=');
- readln (eps);
- until(eps>0)and(eps<1);
- k:=1;
- r:=x;
- y:=r;
- while abs(r)/(2*k-1)>eps do
- begin
- k:=k+1;
- r:=-r*x*x;
- y:=y+r/(2*k-1)
- end;
- writeln('y=',y:0:4);
- writeln('arctg(x)=',arctan(x):0:4);
- end.
Объяснение кода листинга программы
- Создается переменная
eps
типаreal
, которая будет использоваться для хранения точности вычислений. - Создаются три переменные
x
,r
иy
типаreal
, которые будут использоваться для хранения значений аргумента функции и ее производной. - Создается переменная
k
типаinteger
, которая будет использоваться для хранения порядкового номера итерации. - Запускается цикл
repeat
, который будет выполняться до тех пор, пока значение аргументаx
не станет больше или равно единице. - Внутри цикла
repeat
выполняется чтение значения аргументаx
с помощью функцииreadln()
. - Вложенный цикл
repeat
запускается для вычисления значения функции и ее производной. - Внутри вложенного цикла
repeat
вычисляется значениеr
как половина произведения аргументаx
на себя и наk-1
. - Значение
y
вычисляется как сумма произведения аргументаx
наr/(2*k-1)
и текущего значенияr
. - Выводится значение
y
с помощью функцииwriteln()
. - Выводится значение арктианса аргумента
x
с помощью функцииwriteln()
. - Цикл
repeat
завершается. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д