Вычислить значение функции разложенной в ряд и сходящейся в указанной области - 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.
Объяснение кода листинга программы
- В начале кода используются необходимые библиотеки и объявляются переменные для функции f, f1 и f2.
- Функция f принимает аргумент x типа real и возвращает значение типа real. Она вычисляет значение функции разложенной в ряд и сходящейся в указанной области.
- Функция f1 принимает два аргумента x и eps типа real и возвращает значение типа real. Она вычисляет значение функции f1(x, eps), которая является суммой ряда Тейлора для функции f.
- Функция f2 принимает два аргумента x и k типа real и возвращает значение типа real. Она вычисляет значение функции f2(x, k), которая является суммой ряда Тейлора для функции f, но с использованием k-го члена ряда.
- Далее объявляются переменные n, i, k, x, eps, y1, y2, y3 для использования в цикле повторения.
- Цикл повторения начинается с запроса количества вычислений от 1 до 10, затем для каждого i от 1 до n считываются данные для расчета (x, k, eps).
- Для каждой пары (i, eps) выполняется цикл повторения, в котором считываются значения x, k и eps, затем вычисляются значения функций f1 и f2 для x и k, и выводится результат.
- После окончания цикла повторения выводится итоговая информация с номером, значением eps, значениями x, результатами вычислений функций f1 и f2 и функцией f.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д