with text_io, Ada.Strings. Bounded, bstrings; use text_io, Ada.Strings.Bounded; procedure codificarB is -- Declaracion de bibliotecas. package pCad255 is new Ada.Strings.Bounded.Generic_Bounded_Length (255); use pCad255; package pCad255_ES is new bstrings (pCad255); use pCad255_ES; package pCad10 is new Ada.Strings.Bounded.Generic_Bounded_Length (10); use pCad10; package pCad10_ES is new bstrings (pCad10); use pCad10_ES; --Definicion de variables. linea, nomFic: pCad255.Bounded_String; clave: pCad10.Bounded_String; fOrig, fDest: File_Type; procedure cifrar (laCadena: in out pCad255.Bounded_String; laClave: pCad10.Bounded_String) is ---------------------------------------------------------------------- -- Procedimiento:cifrar -- Programador:Area de Lenguajes y Sistemas Informaticos -- Fecha:Noviembre 1997 -- Modificado por:Area de Lenguajes y Sistemas Informaticos -- Fechas Modificacion:Noviembre 1998 ----------------------------------------------------------------------- -- Este procedimiento codifica la cadena de caracteres almacenada -- en la variable 'laCadena' utilizando como clave la cadena de -- caracteres almancenada en la variable 'pal'.El metodo de -- codificacion consiste en utilizar los digitos que forman la clave -- para sumarselos consecutivamente a los caracteres de la cadena. ----------------------------------------------------------------------- primero: constant integer:= character 'pos(' '); ultimo: constant integer:= character 'pos('~'); tamCad: constant integer:= Length(laCadena); tamCla: constant integer:= Length(laClave); i: integer range 0..tamCad; j: integer range 1..tamCla; aux1, aux2: character; begin i:= 0; j:= 1; while (i < tamCad) loop i:= i + 1; aux1:= Element (laCadena, i); aux2:= Element (laClave, j); aux1:= character'val((character'pos (aux1) + character'pos(aux2) - character'pos('0') - primero) mod (ultimo - primero + 1) + primero); Replace_Element (laCadena, i, aux1); if j