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;