Delphi 算術演算関数
著者:lyboy99
電子メール:[email protected]
URL: http://hnh.126.com
ここでは一般的な機能をいくつか紹介します。お役に立てば幸いです。
以下の機能を利用することで、強力な科学技術計算マシンを簡単に設計できます。
関数 rnd(arg1:double):double;
始める
結果 := ランダム * int(arg1);
終わり;
関数 arcsinh(arg1:double):double;
始める
結果:=Ln(arg1+sqrt(1+power(arg1,2)));
終わり;
関数 arccosh(arg1:double):double;
始める
結果 :=Ln(arg1+sqrt(power(arg1,2)-1));
終わり;
関数 arctanh(arg1:double):double;
始める
結果:=Ln((1+引数1)/(1-引数1))/2;
終わり;
関数 arcsech(arg1:double):double;
始める
結果:=Ln((1/arg1)+sqrt(power((1/arg1),2)-1));
終わり;
関数arccosech(arg1:double):double;
始める
結果:=Ln((1/arg1)+sqrt(1+power((1/arg1),2)));
終わり;
関数 arccoth(arg1:double):double;
始める
結果:=Ln((1+(1/arg1))/(1-(1/arg1)))/2;
終わり;
関数 degarcsin(arg1:double):double;
始める
結果 :=arcsin(DegToRad(arg1));
終わり;
関数 arcsec(arg1:double):double;
始める
結果 := arccos(1/arg1);
終わり;
関数 degarcsec(arg1:double):double;
始める
結果 := RadToDeg(arccos(1/arg1));
終わり;
関数 arccosec(arg1:double):double;
始める
結果 := arcsin(1/arg1);
終わり;
関数 degarccosec(arg1:double):double;
始める
結果 := RadToDeg(arcsin(1/arg1));
終わり;
関数 degarccos(arg1:double):double;
始める
結果 :=arccos(DegToRad(arg1));
終わり;
関数 arccot(arg1:double):double;
始める
結果 := arctan(1/arg1);
終わり;
関数 degarccot(arg1:double):double;
始める
結果 := RadToDeg(arctan(1/arg1));
終わり;
関数 cosech(arg1:double):double;
始める
結果 := 2/(exp(arg1)-exp(-arg1));
終わり;
関数 sech(arg1:double):double;
始める
結果 := 2/(exp(arg1)+exp(-arg1));
終わり;
関数 Tanh(arg1:double):double;
始める
結果 := (exp(arg1)-exp(arg1))/(exp(arg1)+exp(-arg1));
終わり;
関数 coth(arg1:double):double;
始める
結果 := (exp(arg1)+exp(arg1))/(exp(arg1)-exp(-arg1));
終わり;
関数 degarctan(arg1:double):double;
始める
結果:= RadToDeg(arctan(arg1));
終わり;
関数 arg(arg1,arg2:double):double;
始める
arg1 < 0 の場合
結果 := arctan(arg2/arg1)+Pi
それ以外
arg1>0 の場合
結果 := arctan(arg2/arg1)
それ以外
引数2 > 0の場合
結果 := 0.5 * 円周率
それ以外
結果 := -0.5 * 円周率;
終わり;
関数 sinh(arg1:double):double;
始める
結果 := (exp(arg1)-exp(-arg1))*0.5;
終わり;
関数 cosh(arg1:double):double;
始める
結果:= (exp(arg1)+exp(-arg1))*0.5;
終わり;
関数 cot(arg1:double):double;
始める
if Abs(arg1)>0.000000001 then result := cotan(arg1) else result :=100000;
終わり;
関数 cotrad(arg1:double):double;
始める
結果 := cotan(DegToRad(arg1));
終わり;
関数 sec(arg1:double):double;
始める
結果 := 1/cos(arg1);
終わり;
関数 cosec(arg1:double):double;
始める
if Abs(arg1)>0.000000001 then result:= 1/sin(arg1) else result:=1000000;
終わり;
関数 Tanrad(arg1:double):double;
始める
結果 := Tan(DegToRad(arg1));
終わり;
関数 sinrad(arg1:double):double;
始める
結果 := sin(DegToRad(arg1));
終わり;
関数 cosrad(arg1:double):double;
始める
結果 := cos(DegToRad(arg1));
終わり;
関数 cosecrad(arg1:double):double;
始める
結果 := 1/sin(DegToRad(arg1));
終わり;
関数 secrad(arg1:double):double;
始める
結果:= 1/cos(DegToRad(arg1));
終わり;
関数 blanc(arg1:double):double;
ヴァール
温度、解像度: 拡張;
カウント:整数;
始める
始める
レス:=0;
for count := 0 ~ 49 do
始める
arg1:=arg1-int(arg1-(Ord(arg1<0));
if (arg1)<0.5 then temp:=(arg1) else temp:=(1-arg1);
res:=res+temp/(power(2,count));
arg1:=2*arg1;
終わり;
終わり;
結果:=res;
終わり;
関数 min(arg1,arg2:double):double;
始める
引数1 < 引数2の場合
結果 := 引数1
それ以外
結果 := 引数2;
終わり;
関数 max(arg1,arg2:double):double;
始める
引数1 < 引数2の場合
結果 := 引数2
それ以外
結果 := 引数1;
終わり;
関数 heaviside(arg1:double):double;
始める
arg1 < 0 の場合
結果:= 0
それ以外
結果 := 1;
終わり;
関数sign(arg1:double):double;
始める
arg1 < 0 の場合
結果:= -1
それ以外
arg1 > 0 の場合
結果 := 1.0
それ以外
結果 := 0.0;
終わり;
関数ゼロ(arg1:double):double;
始める
arg1 = 0.0の場合
結果 := 0.0
それ以外
結果:= 1.0;
終わり;
関数 ceil(arg1:double):double;
始める
frac(arg1) > 0 の場合
結果:= int(arg1 + 1)
それ以外
結果:= int(arg1);
終わり;
関数フロア(arg1:double):double;
始める
frac(arg1) < 0 の場合
結果:= int(arg1 - 1)
それ以外
結果:= int(arg1);
終わり;
関数 radius(arg1,arg2:double):double;
始める
結果:= sqrt(sqr(arg1)+sqr(arg2));
終わり;