私はAdaの初心者で、テイラー級数を使用してsin(x)[sin(3)now]を計算しようとしていますが、動作させることができません。
だからここに私の手順があります:
with Ada.Float_Text_IO;
with Mat;
procedure SinKoz is
X:Float:=3.0;
Szamlalo:Float:=0.0;
begin
for I in 1..100 loop
Szamlalo := Szamlalo + ((-1.0)**I)*(X**(2.0*I+1.0))/Mat.Faktorialis(2*I+1);
end loop;
Ada.Float_Text_IO.Put( Szamlalo );
end SinKoz;
そしてマットの中に、これが私のFaktorialisで、2 * I+1の階乗を計算します。
function Faktorialis( N: Float ) return Float is
Fakt : Float := 1.0;
begin
for I in 1..N loop
Fakt := Fakt * I;
end loop;
return Fakt;
end Faktorialis;
コードをコンパイルしようとすると、次のエラーが発生します。 指数はNatural型である必要があり、「Standard.Float」型が見つかりました
私のタイプで何がうまくいかなかったのかを理解するのを手伝ってくれるといいのですが!