Вычислить значение выражения - Free Pascal (611)
Формулировка задачи:
Задание одно, в нём три формулы. Очень буду благодарен за указание помощи в решении их.
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
const eps=0.0001;
xn=0;
xk=pi/2;
dx=pi/60;
function Sum(x:real):real;
var n:integer;
t,s:real;
begin
n:=1;
t:=2*x*x/2;
s:=t;
while abs(t)>eps do
begin
n:=n+1;
t:=-t*16*x*x/(2*n)/(2*n-1);
s:=s+t;
end;
Sum:=s;
end;
function F(x:real):real;
begin
F:=sqr(sin(x))*sqr(cos(x));
end;
var x:real;
begin
x:=xn;
while x<xk+dx/2 do
begin
writeln('x=',x:4:2,' sum(x)=',Sum(x):5:3,' f(x)=',F(x):5:3);
x:=x+dx;
end;
readln
end.
Объяснение кода листинга программы
- Объявлены константы и переменные: eps = 0.0001; xn = 0; xk = pi/2; dx = pi/60;
- Определена функция Sum с помощью цикла, в котором рассчитывается сумма ряда Тейлора для функции f(x) = 2xx/2;
- Определена функция F, которая вычисляет значение f(x) = sqr(sin(x))*sqr(cos(x));
- Задана переменная x = xn;
- Запущен цикл, в котором значение x увеличивается на dx на каждой итерации и выводятся значения x, Sum(x) и F(x);
- В конце программы ожидается ввод пользователя с помощью readln.