Diferencia entre revisiones de «Programación en Ada/Unidades predefinidas/Ada.Float Text IO»
imported>ManuelGR mSin resumen de edición |
(Sin diferencias)
|
Revisión actual - 21:36 18 nov 2019
Ada.Float_Text_IO es un paquete predefinido de la biblioteca estándar para la entrada/salida de datos de tipo Float.
Lo primero que hay que hacer es importar este paquete:
Plantilla:Ada/Reservada Plantilla:Ada/UP2; Plantilla:Ada/Reservada Plantilla:Ada/UP2;
Están predefinidos dentro de esta biblioteca los siguientes procedimientos:
Put (Item, Fore, Aft, Exp); Put (File, Item, Fore, Aft, Exp);
Donde:
- Item es el número en coma flotante a mostrar.
- Fore el número de caracteres antes del punto. Si es mayor que el número de dígitos, se rellenan con espacios. Este parámetro es ideal para justificar varios números en una columna.
- Aft cuantos dígitos decimales queremos que se muestren.
- Exp cuantos dígitos dejamos para exponente en notación científica. Si es cero no se usa la notación científica.
- File es un fichero abierto con Ada.Text_IO.Open para salida.
Podemos dejar parámetros en blanco y se tomarían por defecto los valores que tenga el procedimiento en la biblioteca:
Put (Número); Put (Número,X);Put (Número, ,Y,Z);Plantilla:Ada/-- Plantilla:Ada/-- Plantilla:Ada/-- Put (Item => Número, Aft => Y, Exp => Z);
Lo más usual es que usemos Put dentro de otro procedimiento, seleccionando los parámetros a nuestro gusto:
Plantilla:Ada/Reservada Plantilla:Ada/UP2; Plantilla:Ada/Reservada Plantilla:Ada/UP2; Plantilla:Ada/Reservada Escribir_Real (X: float) Plantilla:Ada/Reservada Plantilla:Ada/Reservada Put (X, 8, 2, 2); Plantilla:Ada/Reservada Escribir_Real;
Si llamamos a Escribir_Real (-100.0) obtendremos por pantalla lo siguiente:
-1.00E+2
(que al ser notación científica es ).
Obsérvese que el signo usa uno de los espacios en blanco con lo cual no dejamos 8 espacios entre números sino 7, usamos un blanco para el signo.
Para una representación tradicional de un número real podemos dejar el parámetro de Exp a 0 y el de Fore a 0, en tal caso no se usará notación científica ni espacios en blanco antes del número.
Plantilla:Ada/Reservada Plantilla:Ada/UP2; Plantilla:Ada/Reservada Plantilla:Ada/UP2; Plantilla:Ada/Reservada Escribir_Decimales (X: float) Plantilla:Ada/Reservada Plantilla:Ada/Reservada Put (X, 0, 4, 0); -- Notación tradicional con 4 decimales. Plantilla:Ada/Reservada Escribir_Decimales;
Si llamamos a Escribir_Decimales (-125.720498) obtendremos por pantalla lo siguiente:
-125.7205
(nótese el redondeo en el último dígito).
Especificación
Este paquete es equivalente a una instanciación del paquete genérico Float_IO, anidado dentro de Plantilla:Ada/UP2.
Según el Plantilla:Ada:, la especificación de este paquete puede ser la siguiente (en rigor no se requiere que sea realmente una instanciación):
Plantilla:Ada/Reservada Plantilla:Ada/UP2; Plantilla:Ada/Reservada Plantilla:Ada/UP2 Plantilla:Ada/Reservada Plantilla:Ada/Reservada Plantilla:Ada/UP2.Float_IO(Float);