Воспользуемся разложение функции в ряд Тейлора
и тем фактом, что . Тогда . Заметим, что x = 1 является допустимым значением для замены функции в этой точке на ряд Тейлора. Получаем
или
.
Вычисления с помощью этого ряда будут тем точнее, чем больше членов ряда будет задействовано.
n |
|
|
|
2 |
2,6666… |
-- |
|
10 |
3,0418… |
-- |
|
20 |
3,0916… |
0,1 |
3,1 |
200 |
3,1365… |
0,01 |
3,14 |
2000 |
3,14109… |
0,001 |
3,141 |
Аналогичным образом можно вычислить значение числа e, Значения тригонометрических функций.
program pi_vich;
var a,i,n:longint; s,arc1:real;
begin
writeln('vvesti_kol-vo_chlenov_ryada:)') ;
read(n);
for i:= 1 to n do
begin
if i mod 2 <> 0 then
arc1:=exp((n-1)*ln(1))*exp((2*n-1)*ln(1)) /(2*i-1)
else
arc1:=(-1)*exp((n-1)*ln(1))*exp((2*n-1)*ln(1)) /(2*i-1) ;
s:=s+arc1 ;
end;
writeln('pi=',4*s:5:9) ;
writeln('pi_1=',pi) ;
read(a);
end.
program vivod_e;
var i,n: longint; f, e:real;
begin
write('n=');
read(n);
f:=1; e:=1;
for i:= 1 to n do begin
f:= f*i;
e:=e+(1/f);
end;
{writeln(f);}
writeln(e);
read(n);
end.