2016-10-01 7 views
0

なぜこのエラーが発生しますか?"ADA.FLOAT_IO"はあらかじめ定義されたライブラリユニットではありません

「ADA.FLOAT_IOは」私が前にADAには何も書かれたことがありません事前に定義されたライブラリ・ユニット

ないが、単純に私がやっている見当がつかない。 GNATを使ってコンパイルします。

with Ada.Text_IO; use Ada.Text_IO; 
with Ada.Float_IO; use Ada.Float_IO; 
with Ada.Numerics.Elementary_Functions; 
use Ada.Numerics.Elementary_Functions; 

procedure MAIN is 
    A,B,C:Float; 
    W : Float; 
    Re, Im:Float; 
begin 
    Put("Give A");Get(A); 
    Put("Give B");Get(B); 
    Put("Give C");Get(C);New_Line; 
    if A=0.0 then 
     Put_Line("It is not second degree polynomial"); 
    else 
     W:=B*B - 4.0*A*C; 
     Re:=B/(2.0*A); Im:=Sqrt(Abs(W))/(2.0*A); 
     Put("dif = "); Put(W);New_Line; 
     if W<0.0 then 
     Put_Line("Complex "); 
     Put("x1 = ");Put(-Re);Put(" -j ");Put(Im);Put(" "); 
     Put("x2 = ");Put(-Re);Put(" +j ");Put(Im);New_Line; 
     else 
     Put_Line("Real"); 
     Put("x1 = ");Put(-Re-Im);Put(" "); 
     Put("x2 = ");Put(-Re+Im); 
     end if; 
    end if; 
end MAIN; 

答えて

4

IIRC Float_IOText_IOの子である:Ada.Text_IO.Float_IO。さらに、これは汎用パッケージです。あなたがAda.Float_Text_IOを望んでいると思います。これは、

+0

です。 2つの質問。私のコードに書いているところはどこですか?この行ではどういうことが起こっていますか? – Ravo

+6

2番目の質問については、[Wikibookのジェネリックスの記事](https://en.wikibooks.org/wiki/Ada_Programming/Generics)を参照してください。まず、コンパイラは、Ada.Float_Text_IO([ARM A10.9(32)](http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-A-10-9.html)を提供しています。 #p32))、そうすれば 'Ada.Float_IO'を' Ada.Float_Text_IO'に置き換えるだけです。 –

関連する問題