Função de operação matemática Delphi
Autor:lyboy99
e-mail:[email protected]
URL: http://hnh.126.com
Aqui estão algumas funções comuns para você, espero que possam ser úteis para você.
Você pode projetar facilmente uma poderosa máquina de cálculo científico usando as seguintes funções.
função rnd(arg1:duplo):duplo;
Começar
resultado:= Aleatório * int(arg1);
fim;
função arcosinh(arg1:duplo):duplo;
começar
resultado:=Ln(arg1+sqrt(1+potência(arg1,2)));
fim;
função arcocosh(arg1:duplo):duplo;
começar
resultado :=Ln(arg1+sqrt(potência(arg1,2)-1));
fim;
função arctanh(arg1:duplo):duplo;
começar
resultado :=Ln((1+arg1)/(1-arg1))/2;
fim;
função arcsech(arg1:duplo):duplo;
começar
resultado :=Ln((1/arg1)+sqrt(power((1/arg1),2)-1));
fim;
função arcosech(arg1:duplo):duplo;
começar
resultado :=Ln((1/arg1)+sqrt(1+potência((1/arg1),2)));
fim;
função arcoth(arg1:duplo):duplo;
começar
resultado :=Ln((1+(1/arg1))/(1-(1/arg1)))/2;
fim;
função degarcsin(arg1:duplo):duplo;
começar
resultado :=arcsin(DegToRad(arg1));
fim;
função arcsec(arg1:duplo):duplo;
começar
resultado := arcos(1/arg1);
fim;
função degarcsec(arg1:duplo):duplo;
começar
resultado := RadToDeg(arccos(1/arg1));
fim;
função arcosec(arg1:duplo):duplo;
começar
resultado := arcossin(1/arg1);
fim;
função degarccosec(arg1:duplo):duplo;
começar
resultado := RadToDeg(arcsin(1/arg1));
fim;
função degarccos(arg1:duplo):duplo;
começar
resultado :=arccos(DegToRad(arg1));
fim;
função arccot(arg1:duplo):duplo;
começar
resultado := arctan(1/arg1);
fim;
função degarccot(arg1:duplo):duplo;
começar
resultado := RadToDeg(arctan(1/arg1));
fim;
função cosech(arg1:duplo):duplo;
começar
resultado:= 2/(exp(arg1)-exp(-arg1));
fim;
função sech(arg1:duplo):duplo;
começar
resultado:= 2/(exp(arg1)+exp(-arg1));
fim;
função tanh(arg1:duplo):duplo;
começar
resultado := (exp(arg1)-exp(arg1))/(exp(arg1)+exp(-arg1));
fim;
função coth(arg1:duplo):duplo;
começar
resultado := (exp(arg1)+exp(arg1))/(exp(arg1)-exp(-arg1));
fim;
função degarctan(arg1:duplo):duplo;
começar
resultado:= RadToDeg(arctan(arg1));
fim;
função arg(arg1,arg2:duplo):duplo;
começar
se arg1 < 0 então
resultado := arctan(arg2/arg1)+Pi
outro
se arg1>0 então
resultado: = arctan (arg2/arg1)
outro
se arg2 > 0 então
resultado: = 0,5 * Pi
outro
resultado := -0,5 * Pi;
fim;
função sinh(arg1:duplo):duplo;
começar
resultado := (exp(arg1)-exp(-arg1))*0,5;
fim;
função cosh(arg1:duplo):duplo;
começar
resultado := (exp(arg1)+exp(-arg1))*0,5;
fim;
função berço(arg1:duplo):duplo;
começar
se Abs(arg1)>0.000000001 então resultado := cotan(arg1) senão resultado :=100000;
fim;
função cotrad(arg1:duplo):duplo;
começar
resultado := cotan(DegToRad(arg1));
fim;
função sec(arg1:duplo):duplo;
começar
resultado := 1/cos(arg1);
fim;
função cosec(arg1:duplo):duplo;
começar
se Abs(arg1)>0.000000001 então resultado:= 1/sin(arg1) senão resultado:=1000000;
fim;
função tanrad(arg1:duplo):duplo;
começar
resultado:= tan(DegToRad(arg1));
fim;
função sinrad(arg1:duplo):duplo;
começar
resultado := sin(DegToRad(arg1));
fim;
função cosrad(arg1:duplo):duplo;
começar
resultado:= cos(DegToRad(arg1));
fim;
função cosecrad(arg1:duplo):duplo;
começar
resultado:= 1/sin(DegToRad(arg1));
fim;
função secrad(arg1:duplo):duplo;
começar
resultado:= 1/cos(DegToRad(arg1));
fim;
função branco(arg1:duplo):duplo;
Var
temp,res:estendido;
contar:inteiro;
começar
Começar
res:=0;
para contagem: = 0 a 49 faça
começar
arg1:=arg1-int(arg1-(Ord(arg1<0)));
se (arg1)<0,5 então temp:=(arg1) senão temp:=(1-arg1);
res:=res+ temp/(potência(2,contagem));
arg1:=2*arg1;
fim;
fim;
resultado:=res;
fim;
função min(arg1,arg2:duplo):duplo;
começar
se arg1 < arg2 então
resultado := arg1
outro
resultado := arg2;
fim;
função max(arg1,arg2:duplo):duplo;
começar
se arg1 <arg2 então
resultado := arg2
outro
resultado := arg1;
fim;
função heaviside(arg1:duplo):duplo;
começar
se arg1 < 0 então
resultado := 0
outro
resultado:= 1;
fim;
sinal de função (arg1:duplo):duplo;
começar
se arg1 < 0 então
resultado := -1
outro
se arg1 > 0 então
resultado := 1,0
outro
resultado := 0,0;
fim;
função zero(arg1:duplo):duplo;
começar
se arg1 = 0,0 então
resultado := 0,0
outro
resultado:= 1,0;
fim;
função ceil(arg1:duplo):duplo;
começar
se frac(arg1) > 0 então
resultado:= int(arg1 + 1)
outro
resultado:= int(arg1);
fim;
função floor(arg1:double):double;
começar
se frac(arg1) < 0 então
resultado:= int(arg1 - 1)
outro
resultado:= int(arg1);
fim;
função raio(arg1,arg2:duplo):duplo;
começar
resultado:= sqrt(sqr(arg1)+sqr(arg2));
fim;