小编Kra*_*rav的帖子

Ada sin(x) 使用泰勒级数计算

我是 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;
Run Code Online (Sandbox Code Playgroud)

在 Mat 内部,这是我的 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;
Run Code Online (Sandbox Code Playgroud)

当我试图编译我的代码时,出现这个错误: 指数必须是自然类型,找到类型“Standard.Float”

我希望你能帮助我找出我的类型出了什么问题!

trigonometry ada

4
推荐指数
1
解决办法
575
查看次数

标签 统计

ada ×1

trigonometry ×1