- with Ada.Strings.Unbounded; 
- use  Ada.Strings.Unbounded; 
- package Personas is 
-    type Persona is tagged private; 
-       -- Tipo base para representar personas. 
-   
-    procedure Inicializar( 
-             P: out Persona; 
-             DNI: in Positive; 
-             N, A1, A2: Unbounded_String 
-          ); 
-       -- Da un valor a una variable de tipo persona. 
-   
-    function DNI(P: in Persona) return Positive; 
-       -- Devuelve el DNI de una persona. 
-    function Nombre(P: in Persona) return Unbounded_String; 
-       -- Devuelve el nombre de pila de una persona. 
-    function Primer_Apellido(P: in Persona) return Unbounded_String; 
-       -- Devuelve el primer apellido de una persona. 
-    function Segundo_Apellido(P: in Persona) return Unbounded_String; 
-       -- Devuelve el segundo apellido de una persona. 
-    function Nombre_Completo(P: in Persona) return Unbounded_String; 
-       -- Devuelve el nombre de una persona, en el fomato: 
-       -- <Primer_Apellido Segundo_Apellido, Nombre> 
-   
- private 
-    -- Estructura de representación del tipo Persona 
-    type Persona is tagged record 
-       DNI: Positive; 
-       Nombre: Unbounded_String; 
-       Primer_Apellido: Unbounded_String; 
-       Segundo_Apellido: Unbounded_String; 
-    end record; 
- end Personas; 
-