Составить программу для вычисления значения функции - 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.

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

  1. Создается переменная eps типа real, которая будет использоваться для хранения точности вычислений.
  2. Создаются три переменные x, r и y типа real, которые будут использоваться для хранения значений аргумента функции и ее производной.
  3. Создается переменная k типа integer, которая будет использоваться для хранения порядкового номера итерации.
  4. Запускается цикл repeat, который будет выполняться до тех пор, пока значение аргумента x не станет больше или равно единице.
  5. Внутри цикла repeat выполняется чтение значения аргумента x с помощью функции readln().
  6. Вложенный цикл repeat запускается для вычисления значения функции и ее производной.
  7. Внутри вложенного цикла repeat вычисляется значение r как половина произведения аргумента x на себя и на k-1.
  8. Значение y вычисляется как сумма произведения аргумента x на r/(2*k-1) и текущего значения r.
  9. Выводится значение y с помощью функции writeln().
  10. Выводится значение арктианса аргумента x с помощью функции writeln().
  11. Цикл repeat завершается.
  12. Программа завершается.

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


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

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

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