Guía mínima de Ada 95

Funciones matemáticas elementales.

Existe un paquete generico llamado Ada.Numerics.Generic_Elementary_Functions que ofrece las siguientes funciones matemáticas:

 function Sqrt    (X           : Float_Type'Base)        return Float_Type'Base;
 function Log     (X           : Float_Type'Base)        return Float_Type'Base;
 function Log     (X, Base     : Float_Type'Base)        return Float_Type'Base;
 function Exp     (X           : Float_Type'Base)        return Float_Type'Base;
 function "**"    (Left, Right : Float_Type'Base)        return Float_Type'Base;

 function Sin     (X           : Float_Type'Base)        return Float_Type'Base;
 function Sin     (X, Cycle    : Float_Type'Base)        return Float_Type'Base;
 function Cos     (X           : Float_Type'Base)        return Float_Type'Base;
 function Cos     (X, Cycle    : Float_Type'Base)        return Float_Type'Base;
 function Tan     (X           : Float_Type'Base)        return Float_Type'Base;
 function Tan     (X, Cycle    : Float_Type'Base)        return Float_Type'Base;
 function Cot     (X           : Float_Type'Base)        return Float_Type'Base;
 function Cot     (X, Cycle    : Float_Type'Base)        return Float_Type'Base;

 function Arcsin  (X           : Float_Type'Base)        return Float_Type'Base;
 function Arcsin  (X, Cycle    : Float_Type'Base)        return Float_Type'Base;
 function Arccos  (X           : Float_Type'Base)        return Float_Type'Base;
 function Arccos  (X, Cycle    : Float_Type'Base)        return Float_Type'Base;
 function Arctan  (Y           : Float_Type'Base;
                   X           : Float_Type'Base := 1.0) return Float_Type'Base;
 function Arctan  (Y           : Float_Type'Base;
                   X           : Float_Type'Base := 1.0;
                   Cycle       : Float_Type'Base)        return Float_Type'Base;
 function Arccot  (X           : Float_Type'Base;
                   Y           : Float_Type'Base := 1.0) return Float_Type'Base;
 function Arccot  (X           : Float_Type'Base;
                   Y           : Float_Type'Base := 1.0;
                   Cycle       : Float_Type'Base)        return Float_Type'Base;

 function Sinh    (X           : Float_Type'Base)        return Float_Type'Base;
 function Cosh    (X           : Float_Type'Base)        return Float_Type'Base;
 function Tanh    (X           : Float_Type'Base)        return Float_Type'Base;
 function Coth    (X           : Float_Type'Base)        return Float_Type'Base;
 function Arcsinh (X           : Float_Type'Base)        return Float_Type'Base;
 function Arccosh (X           : Float_Type'Base)        return Float_Type'Base;
 function Arctanh (X           : Float_Type'Base)        return Float_Type'Base;
 function Arccoth (X           : Float_Type'Base)        return Float_Type'Base;
(cycle es las unidades que determinan una circunferencia completa. Si no se especifica se suponen radianes)

Forma de usarlas.

1) Cláusulas de contexto.

2) Declaraciones.

Ejemplo.

with Text_IO, Ada.Numerics.Generic_Elementary_Functions;
use TExt_IO, Ada.Numerics;

procedure UsaMat is
    x, y : float;
    package MiFloat_IO is new Float_IO(float);
    package Funciones is new Generic_Elementary_Functions(float);
    use MiFloat_IO, Funciones;
begin
    put("Dame un número real: ");
    get(x);
    y := sqrt(x);
    put("raíz cuadrada: ");
    put(y);
end UsaMat;



[Anterior] [Inicio] [Siguiente]