Tarea C
- Diego Moraga Araya
- ROL: 201773035-8
- Usuario DI: dmoraga
Estrategia usada
-
Main: En primer lugar se definieron los punteros a las bibliotecas (donde se encuentran las funciones), luego se recibe el texto o mensaje en conjunto con la secuencia de funciones que se le aplicarán para codificar el mensaje, secuencia que es recorrida para ir llamando a cada función correspondiente de manera compuesta y finalmente se muestra el texto cifrado.
-
Backward: Esta funcion recorre la cadena de tal manera de que cuando se encuentra en una posición o índice par, éste elemento de la cadena se guarda en un carácter auxiliar para así "correr" el resto de la cadena hacia la derecha y posicionar el carácter guardado al principio de la cadena.
-
Permutar: Esta función recorre la cadena de tal manera de que intercambia los caracteres ubicados en índices pares por los caracteres adyacentes a la izquierda (con índices impares).
-
Reverse: La función reverse invierte un string, dejando el último elemento en el primer lugar, el penúltimo en el segundo lugar y así sucesivamente.
-
Rot13: Esta conocida función le suma 13 "unidades" a cada letra de la cadena.
-
Pascal: Básicamente esta función divide la cadena en dos, si es de largo par toma como base los dos elementos de al medio, en cambio si es de largo impar, toma los tres elementos centrales; luego se itera sobre la cadena y si la iteración es impar se toman los extremos y se cambiaban de izq. a der. y viceversa y se ponen adyacentes a la base, en cambio si es una iteración par, mantienen sus lados y se ubican adyacentes a la base o a lo que se lleva escrito. Para esto fue fundamental usar una cadena auxuliar
Compilación y ejecución
- Para la compilación mediante la terminal se debe ubicar en la dirección donde se encuentra el Makefile en conjunto con la carpeta lib y el main.c y ejecutar el comando make.
- Para la ejecución se debe estar situado en la carpeta o directorio donde se hizo la compilación y ejecutar ./bin/hash.
Supuestos considerados
- Se consideró que el mensaje a codificar o cifrar tendrá solamente caracteres pertenecientes al abecedario inglés más el espacio ' ' sin considerar símbolos. Tambíen se consideró que la secuencia de funciones de codificación serán solo mayúsculas.