Funções Matemáticas Simples
{ Funcoes matematicas simples e uteis}
{ Joao Paulo Schwarz Schuler }
{ http://www.schulers.com/jpss }
{$X+}
function Log(NUM,BASE:extended):extended;
{ retorna logaritmo de NUM na base BASE }
begin
Log:=ln(NUM)/ln(BASE);
end;
function Expon(BASE,RESULTADO:extended):extended;
{* EXPON = numero que torna verdadeira
a equacao: base ^ expon = resultado *}
begin
Expon:=Log(RESULTADO,BASE);
end;
function Pot(NUMERO,ELEVADO:extended):extended;
{* Eleva o numero a sua potencia.
exemplo : 3^4= pot(3,4) *}
begin
Pot:=exp(ELEVADO*ln(NUMERO));
end;
function Fat(N:extended):extended;
{* calcula o fatorial de n *}
begin
if round(N)=0
then Fat:=1
else Fat:=round(N)*Fat(round(N-1));
end;
function Arranjo(N,P:extended):extended;
{calcula arranjo}
var I:longint;
C:extended;
begin
C:=1;
for I:=1 to round(P) do
begin
C:=C*round(N);
N:=N-1;
end;
Arranjo:=C;
end;
function Combinacao(N,P:extended):extended;
{calcula combinacao}
begin
Combinacao:=Arranjo(N,P)/Fat(P);
end;
function PA(A1,N,R:extended):extended;
{* Calcula elemento da PA
n=numero do elemento a se descobrir
r=raio
a1=primeiro elemento *}
begin
PA:=A1+(N-1)*R;
end;
function PG(A1,N,Q:extended):extended;
{* Calcula elemento da PG
n=numero do elemento a se descobrir
a1=primeiro elemento *}
begin
PG:=A1*Pot(Q,N-1);
end;