with Ada.Text_IO;
with Ada.Text_IO.Unbounded_IO;
with Ada.Strings.Unbounded;
procedure Main is
-- Archivo de salida
Salida : Ada.Text_IO.File_Type;
-- Cadena de texto para escribir en el archivo de salida
Texto : Ada.Strings.Unbounded.Unbounded_String := Ada.Strings.Unbounded.Null_Unbounded_String;
-- Procedimiento para escribir la cadena en el archivo de salida
procedure Escribir_En_Salida (Texto : in Ada.Strings.Unbounded.Unbounded_String) is
begin
Ada.Text_IO.Put(File => Salida, Item => Ada.Strings.Unbounded.To_String(Texto));
end Escribir_En_Salida;
begin
-- Abrir el archivo de salida
Ada.Text_IO.Create(File => Salida, Mode => Ada.Text_IO.Out_File, Name => "salida.txt");
-- Redirigir la salida al archivo
Ada.Text_IO.Set_Output(File => Salida);
-- Escribir en el archivo de salida
Ada.Text_IO.Put_Line("Este es un ejemplo de texto que se escribirá en el archivo de salida.");
Ada.Text_IO.Put_Line("¡Hola, Mundo!");
-- Cerrar el archivo de salida
Ada.Text_IO.Close(Salida);
end Main;