Вычислите функцию, заданной в виде суммы бесконечного ряда - Pascal
Формулировка задачи:
Помогите, пожалуйста, с задачей!
Закономерность вывела, вот: U= -(u*x^2*(2k+1))/(2k+1). Как все 3 способа в одну программу запихать не знаю
Вычислите функцию, заданной в виде суммы бесконечного ряда тремя способами: с заданной погрешностью EPS (F1(x)), с заданным числом K первых членов ряда (F2(x)) и по аналитической формуле (F(x)).
Функция и область сходимости: sinx, |x|<1
Разложение в ряд:
Решение задачи: «Вычислите функцию, заданной в виде суммы бесконечного ряда»
textual
Листинг программы
var x,e,t,s:real;
k,i:integer;
begin
write('x=');
readln(x);
//с заданной погрешностью
repeat
write('0<e<1 e=');
readln(e);
until (e>0)and(e<1);
k:=1;
t:=x;
s:=t;
while abs(t)>e do
begin
k:=k+1;
t:=-t*x*x/((2*k-2)*(2*k-1));
s:=s+t
end;
writeln('При заданной точности e=',e:0:5,' S=',s:0:5);
//с заданным числом K
repeat
write('Введите K>1 k=');
readln(k);
until k>1;
t:=x;
s:=t;
for i:=2 to k do
begin
t:=-t*x*x/((2*i-2)*(2*i-1));
s:=s+t
end;
writeln('При заданном числе K=',k,' S=',s:0:5);
write('По аналитической формуле sinx=',sin(x):0:5);
end.
Объяснение кода листинга программы
- Объявление переменных:
x,e,t,s- переменные типа real (вещественные числа)k,i- переменные типа integer (целые числа)
- Ввод значения переменной
x:- Пользователь вводит значение переменной
xс клавиатуры.
- Пользователь вводит значение переменной
- Ввод погрешности
e:- Пользователь вводит значение переменной
eс учетом условия, что 0 < e < 1.
- Пользователь вводит значение переменной
- Вычисление функции с помощью бесконечного ряда до достижения заданной погрешности:
- Инициализируется переменная
kравная 1. - Выполняется вычисление суммы бесконечного ряда по формуле с использованием цикла while и условием abs(t) > e:
- Увеличивается значение
kна 1. - Вычисляется значение переменной
tпо формуле с использованием переменнойx,kиt. - Суммируется значение
tс переменнойs.
- Увеличивается значение
- Инициализируется переменная
- Вывод результата:
- Выводится результат при заданной точности
e(e= заданное значение, S= вычисленное значение суммы).
- Выводится результат при заданной точности
- Вычисление функции с помощью бесконечного ряда с заданным числом
k:- Пользователь вводит значение переменной
k(целое число больше 1). - Выполняется вычисление суммы бесконечного ряда по заданному числу
kс использованием цикла for.
- Пользователь вводит значение переменной
- Вывод результата:
- Выводится результат для заданного числа
k(K= заданное значение, S= вычисленное значение суммы).
- Выводится результат для заданного числа
- Вывод результата с использованием аналитической формулы:
- Выводится значение функции sin(x) с точностью до пяти знаков после запятой.