저는 Ada의 절대 초보자이며 Taylor 시리즈를 사용하여 sin (x) [sin (3)]을 계산하려고합니다. 그것을 작동시키지 마십시오. 그래서 여기Ada sin (x) Taylor 시리즈로 컴퓨팅하기
내 절차 :
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;
그리고 매트 내부
가 여기 2의 계승을 계산 내 Faktorialis입니다 * 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;
내 코드를 컴파일하면이 오류가 발생합니다. 지수가 자연 유형이어야하며 "Standard.Float"유형을 발견했습니다
내 타입에 무엇이 잘못되었는지 알아 내려고 도와 줄 수 있습니다!
+1 : duh. 이 대답은 내 것보다 낫다. 나는 잠시 동안 Ada에서 떨어져 있었다. –
감사합니다. 자세한 답변입니다. – Krav
때로는 일을하는 몇 가지 방법을 아는 것이 좋은 일입니다. Ada는 잘 망쳐 놓은 도구 상자가 아닙니다 :-) –