.


           


begin

g := 1;

for i := 2 to m do

g := g*i;

G_natural := g

end;

{----------------------------------------------------------------------------------------}

begin

write(' '); readln(x);

write(' '); readln(eps);

if x = trunc(x)

then gg := G_natural(trunc(x))

else

if (x < 2) and (x > 1)

then gg := Gamma(x, eps)

else gg := G(x, eps);

writeln(' - ', gg:6:t(eps));

end.

,



:



- .



55. e.

Procedure number_e(eps : real; var

e : real);

var

n : integer;

u : real;

begin

e := 0; u := 1; n := 1;

repeat

e := e + u;

u := u/n; n := n + 1

until 3*u <= eps;

end;

56. .

Procedure Radical(n : integer ; x, eps : real; var b : real);

var

n : integer;

z, m, u : real;

begin

b := 1; u := 1; n := 1;

repeat

u := (m - n + 1)*x*u/n; b := b + u; n := n+1

until abs(u) <= eps;

end;

57.


Procedure

Multiplication(eps : real; var Mult : real);

var

n : longint;

Mult1 : real;

begin

n := 2; Mult1 := 1;

repeat

Mult1 := Mult1*(1 - 1/sqr(n));

n := n + 1;

Mult := Mult1*(1 - 1/sqr(n))

until abs(Mult - Mult1) < eps

end;

58.
.

Procedure Wallis(eps : real; var Mult : real);