alf:"abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQ-RSTUVWXYZáéíóúÁÉÍÓÚ0123456789 ,.;:";
codi_numerica(alf,msj):=block(
[extra],
if stringp(msj) then (
extra:makelist(mod(sposition(charat(msj,i),alf),slength(alf)),i,1,slength(msj))
)
else
(
extra:"",
for i in msj do extra:concat(extra,alf[i-1])
),
extra
)$
alf es el alfabeto que usa, la 'a' es la posición 1, la 'b' la 2.... ':' la 0 y última posición.
Si a la función le pasas un mensaje en formato String (texto), te devolverá un array y en cada posición de este el valor de cada caracter de la cadena.
Si a la función le pasas un mensaje en formato array numérico, te devolvera una cadena String con el texto solución.
codi_numerica(alf,msj):=block(
[extra],
if stringp(msj) then (
extra:makelist(mod(sposition(charat(msj,i),alf),slength(alf)),i,1,slength(msj))
)
else
(
extra:"",
for i in msj do extra:concat(extra,alf[i-1])
),
extra
)$
alf es el alfabeto que usa, la 'a' es la posición 1, la 'b' la 2.... ':' la 0 y última posición.
Si a la función le pasas un mensaje en formato String (texto), te devolverá un array y en cada posición de este el valor de cada caracter de la cadena.
Si a la función le pasas un mensaje en formato array numérico, te devolvera una cadena String con el texto solución.