Найти с заданной точностью сумму ряда Тейлора для sin(x) - Pascal
Формулировка задачи:
В общем, ребята, никак не могу решить задачу. Голову ломал недели две, но так и не пришел к омута правильному. Помогите, кто может, пожалуйста.
Вычислить сумму ряда
с точностью до eps.
Решение задачи: «Найти с заданной точностью сумму ряда Тейлора для sin(x)»
textual
Листинг программы
- var eps,x,t,s:real;
- n:integer;
- begin
- writeln('Введите x=');
- readln(x);
- repeat
- write('Введите 0<eps<1 eps=');
- readln(eps);
- until(eps>0)and(eps<1);
- n:=0;
- t:=x;
- s:=t;
- while abs(t)>eps do
- begin
- n:=n+1;
- t:=-t*x*x/(2*n)/(2*n+1);
- s:=s+t;
- end;
- writeln('S=',s:0:5);
- write('sin(x)=',sin(x):0:5);
- end.
Объяснение кода листинга программы
- Объявление переменных:
eps
- точность, с которой нужно найти сумму ряда Тейлора для sin(x)x
- входное числоt
- текущий член ряда Тейлора для sin(x)s
- сумма ряда Тейлора для sin(x)n
- переменная для подсчёта номера текущего члена ряда
- Ввод значения переменной
x
с клавиатуры. - Повторять (цикл
repeat-until
):- Запрос ввода значения переменной
eps
с клавиатуры. - Продолжать цикл, пока значение
eps
не будет удовлетворять условиям 0 <eps
< 1.
- Запрос ввода значения переменной
- Инициализация переменных:
n
устанавливается в 0 (номер текущего члена ряда).t
устанавливается равнымx
(первый член ряда).s
устанавливается равнымt
(начальная сумма ряда).
- Цикл
while
:- Пока абсолютное значение
t
больше, чемeps
:- Увеличивать значение
n
на 1. - Рассчитывать новое значение
t
на основе предыдущегоt
по формуле ряда Тейлора для sin(x). - Добавлять
t
к общей суммеs
.
- Увеличивать значение
- Пока абсолютное значение
- Вывод полученной суммы ряда Тейлора для sin(x) с точностью до 5 знаков после запятой.
- Вывод значения sin(x) с точностью до 5 знаков после запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д