Вычислить значение функции разложенной в ряд и сходящейся в указанной области - Pascal ABC

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

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

Всем привет! Есть одна задача, решить не получается от слова совсем. Текст приведен на скриншоте. Единственное что у меня получилось описать это саму функцию, код под спойлером. Если поможете решить - буду сильно благодарен

Решение задачи: «Вычислить значение функции разложенной в ряд и сходящейся в указанной области»

textual
Листинг программы
uses crt;
function f(x:real):real;
begin
f:=(exp(x)-exp(-x))/2;
end;
function f1(x,eps:real):real;
var t,s:real;
    n:integer;
begin
n:=0;
t:=x;//нулевой член ряда
s:=t;//сума при  n=0
while abs(t)>=eps do//пока очередной член больше точности
 begin
  n:=n+1; //увеличиваем номер
  t:=t*x*x/(2*n*(2*n+1));//домножаем на x^2 и делим на факториал очередного нечетного числа
  s:=s+t; //суммируем
 end;
f1:=s;
end;
function f2(x:real;k:integer):real;
var t,s:real;
    i:integer;
begin
t:=x;
s:=t;
for i:=1 to k do
 begin
  t:=t*x*x/(2*i*(2*i+1));
  s:=s+t;
 end;
f2:=s;
end;
var n,i:integer;
    k:array[1..10] of integer;
    x,eps,y1,y2,y3:array[1..10] of real;
begin
repeat
write('Сколько вычислений выполнить от 1 до 10 n=');
readln(n);
until n in [1..10];
for i:=1 to n do
 begin
  writeln('Введите данные для рпсчета ',i);
  write('x=');
  readln(x[i]);
  write('k=');
  readln(k[i]);
  repeat
  write('0<eps<1 eps=');
  readln(eps[i]);
  until(eps[i]>0)and(eps[i]<1);
 end;
clrscr;
writeln('------------------------------------------------------------------------');
writeln('| № |   EPS   |  x  |   F1(x)   |K-число членов|   F2(x)   |   F(x)    |');
writeln('------------------------------------------------------------------------');
for i:=1 to n do
writeln('|',i:2,' |',eps[i]:9:7,'|',x[i]:4:0,' |',f1(x[i],eps[i]):11:5,'|',k[i]:9,'     |',f2(x[i],k[i]):11:5,'|',f(x[i]):11:5,'|');
writeln('------------------------------------------------------------------------');
end.

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

  1. В начале кода используются необходимые библиотеки и объявляются переменные для функции f, f1 и f2.
  2. Функция f принимает аргумент x типа real и возвращает значение типа real. Она вычисляет значение функции разложенной в ряд и сходящейся в указанной области.
  3. Функция f1 принимает два аргумента x и eps типа real и возвращает значение типа real. Она вычисляет значение функции f1(x, eps), которая является суммой ряда Тейлора для функции f.
  4. Функция f2 принимает два аргумента x и k типа real и возвращает значение типа real. Она вычисляет значение функции f2(x, k), которая является суммой ряда Тейлора для функции f, но с использованием k-го члена ряда.
  5. Далее объявляются переменные n, i, k, x, eps, y1, y2, y3 для использования в цикле повторения.
  6. Цикл повторения начинается с запроса количества вычислений от 1 до 10, затем для каждого i от 1 до n считываются данные для расчета (x, k, eps).
  7. Для каждой пары (i, eps) выполняется цикл повторения, в котором считываются значения x, k и eps, затем вычисляются значения функций f1 и f2 для x и k, и выводится результат.
  8. После окончания цикла повторения выводится итоговая информация с номером, значением eps, значениями x, результатами вычислений функций f1 и f2 и функцией f.
  9. Конец программы.

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


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

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

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