sábado, 19 de enero de 2008

Calculo Letra DNI en lenguaje ADA

function NIF (DNI : String) return String is
Letras : constant String := "TRWAGMYFPDXBNJZSQVHLCKE";

Resultado : String (1 .. 10);
Valor_DNI : Integer := Integer'Value (DNI);
Letra_NIF : Character;
Pos_Letra : Integer;
begin
Pos_Letra := (Valor_DNI mod 23) + 1;
Letra_NIF := Letras (Pos_Letra);
Resultado := DNI & '-' & Letra_NIF;
return Resultado;
end NIF;