Versiunea in limba romana Версия на русском языке
...:::   Главная страница · О Паскале · Download · О сайте:::...
 
На сайте:  
Реклама  

 

HotLog online dating service
HotLog
HotLog доставка цветов

 

Вычисление интеграла используя в подинтегральной ф-ции косинус, заданный формулой cos x=1-x^2/2!+x^4/4!-x^6/6!...

 

Вычислить интеграл I=S(|x|cosx+1)dx на отрезке [-2,2] с точностью е=0,001 Косинус задается формулой cos x=1-x^2/2!+x^4/4!-x^6/6!... и вычисляются с той же точностью


var i1,i2:real;
n,k:longint;
function step(x:real; n:longint):real;
var i:longint;
p:real;
begin
p:=1;
for i:=1 to n do
p:=p*x;
step:=p;
end;

function nf(n:longint):longint;
var i,p:longint;
begin
p:=1;
for i:=1 to n do p:=p*i;
nf:=p;
end;

function sum(x:real;n:longint):real;
var i:longint;
s:real;
begin
s:=1;
for i:=1 to n do s:=step(x,2*i)*step(-1,i)/nf(2*i)+s;
sum:=s;
end;

function cosinus(x:real):real;
var c1,c2:real;
n:longint;
begin
n:=1; c2:=0;
repeat
c1:=c2;
c2:=sum(x,n);
inc(n);
until abs(c2-c1)<=0.001;
cosinus:=c2;
end;

function f(x:real):real;
begin
f:=abs(x)*cosinus(x)+1;
end;

function integral(n:longint):real;
var dx,s:real;
i:longint;
begin
dx:=4/n;
s:=(f(-2)+f(2))/2;
for i:= 1 to n-1 do
s:=s+f(dx*i-2);
integral:=dx*s;
end;
BEGIN
n:=2; k:=1; i2:=0;
repeat
i1:=i2;
i2:=integral(n);
n:=n*2;
inc(k);
until abs(i2-i1)<=0.001;
writeln('I= ',i2:0:3);
writeln('n= ',n);
writeln('k= ',k);
readln
END.

<< Назад

 
Добавленно: 06.08.04    Автор: Аня

Copyright © Rocko, 2004. Last Updated : 1 september 2004

Hosted by uCoz