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

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

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

Всем привет! Есть одна задача, решить не получается от слова совсем. Текст приведен на скриншоте. Единственное что у меня получилось описать это саму функцию, код под спойлером. Если поможете решить - буду сильно благодарен
Листинг программы
  1. c:=exp((2*n-1)*ln(x)); //ÂÎÇÂÅÄÅÍÈÅ Â ÑÒÅÏÅHÜ
  2. k:=x;
  3. For i:=1 to (N-1) do
  4. k:=k+(c/(2*n-1)); //k - znacheniye f-cii
  5. writeln (k :5 :3);

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

textual
Листинг программы
  1. uses crt;
  2. function f(x:real):real;
  3. begin
  4. f:=(exp(x)-exp(-x))/2;
  5. end;
  6. function f1(x,eps:real):real;
  7. var t,s:real;
  8.     n:integer;
  9. begin
  10. n:=0;
  11. t:=x;//нулевой член ряда
  12. s:=t;//сума при  n=0
  13. while abs(t)>=eps do//пока очередной член больше точности
  14.  begin
  15.   n:=n+1; //увеличиваем номер
  16.   t:=t*x*x/(2*n*(2*n+1));//домножаем на x^2 и делим на факториал очередного нечетного числа
  17.   s:=s+t; //суммируем
  18.  end;
  19. f1:=s;
  20. end;
  21. function f2(x:real;k:integer):real;
  22. var t,s:real;
  23.     i:integer;
  24. begin
  25. t:=x;
  26. s:=t;
  27. for i:=1 to k do
  28.  begin
  29.   t:=t*x*x/(2*i*(2*i+1));
  30.   s:=s+t;
  31.  end;
  32. f2:=s;
  33. end;
  34. var n,i:integer;
  35.     k:array[1..10] of integer;
  36.     x,eps,y1,y2,y3:array[1..10] of real;
  37. begin
  38. repeat
  39. write('Сколько вычислений выполнить от 1 до 10 n=');
  40. readln(n);
  41. until n in [1..10];
  42. for i:=1 to n do
  43.  begin
  44.   writeln('Введите данные для рпсчета ',i);
  45.   write('x=');
  46.   readln(x[i]);
  47.   write('k=');
  48.   readln(k[i]);
  49.   repeat
  50.   write('0<eps<1 eps=');
  51.   readln(eps[i]);
  52.   until(eps[i]>0)and(eps[i]<1);
  53.  end;
  54. clrscr;
  55. writeln('------------------------------------------------------------------------');
  56. writeln('| № |   EPS   |  x  |   F1(x)   |K-число членов|   F2(x)   |   F(x)    |');
  57. writeln('------------------------------------------------------------------------');
  58. for i:=1 to n do
  59. 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,'|');
  60. writeln('------------------------------------------------------------------------');
  61. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы