Problema para convertir los caracteres de una frase en sus equivalentes en código ASCII con cifrado y descifrado César
La empresa de seguridad “Segurity.gov” quedó muy contenta con el programa que convierte los caracteres de una frase en sus equivalentes en códigos ASCII. Pero, ahora quiere usar este programa para hacer cifrado y descifrado César.
El cifrado César es uno de los cifrados más conocidos y antiguos de la humanidad y consiste en tomar cada carácter de una frase y desplazarlo en el alfabeto un determinado número de posiciones, por ejemplo, la letra 'A' si se desplaza 2 posiciones se convierte en 'C' y así por todas las letras del mensaje.
Para descifrar un mensaje se hace el proceso inverso.
Por ejemplo: El mensaje “Hola” usando un desplazamiento de una posición se obtiene el mensaje “Ipmb” y se descifra (desplazamiento menos una posición) para obtener nuevamente "Hola".
Para la solución del problema debemos tener en cuenta lo siguiente:
Abstracción:
Para el primer interrogante, se debe identificar qué solicita el programa. En este caso, la meta del programa es cifrar y descifrar un mensaje usando el cifrado Cesar.
Para el segundo interrogante, se ignoran los elementos que no son necesarios para la solución del problema y se selecciona los más importante. En este caso los elementos más importantes son: Mensaje a cifrar y descifrar.
Descomposición:
Para este interrogante se debe mostrar las acciones o partes que se requieren para solucionar el problema.
En este caso, la acción sería ingresar el mensaje a cifrar, cifrar el mensaje original, descifrar el mensaje cifrado, generar el mensaje, mostrar mensaje.
Siempre las acciones deben de tener la misma sintaxis, es decir, Verbo (Mostrar) + Complemento (Mensaje)
Reconocimiento de patrones:
Para responder este interrogante se debe identificar que elementos de ejercicios anteriores me pueden servir para solucionar el problema actual.
En este caso, los elementos a reutilizar son ingresar_texto, mostrar_texto.
Codificación:
Temas a profundizar para la solución de este problema: