Cifrado César
Cifra un mensaje corriendo cada letra del abecedario.
- Nivel
- Avanzado
- Tema:
- Texto
- Conceptos:
- Entrada y salida
- Texto
- Para
- Matemáticas
Abrir en Codoritmo
Ejecuta, modifica y depura este ejemplo en el navegador.
Lo que aprenderás
Buscas cada letra en el abecedario con Subcadena dentro de un Para anidado. MOD hace que después de la z se vuelva a empezar en la a.
Código
Algoritmo CifradoCesar Definir abecedario, mensaje, cifrado, letra Como Caracter Definir desplazamiento, i, j, posicion, nueva Como Entero abecedario <- "abcdefghijklmnopqrstuvwxyz" Escribir "Mensaje a cifrar:" Leer mensaje Escribir "Desplazamiento (1 a 25):" Leer desplazamiento cifrado <- "" Para i <- 1 Hasta Longitud(mensaje) Hacer letra <- Minusculas(Subcadena(mensaje, i, i)) // Buscamos la letra en el abecedario posicion <- 0 Para j <- 1 Hasta 26 Hacer Si Subcadena(abecedario, j, j) = letra Entonces posicion <- j FinSi FinPara Si posicion = 0 Entonces cifrado <- cifrado + letra SiNo // MOD hace que después de la z vuelva a empezar en la a nueva <- (posicion - 1 + desplazamiento) MOD 26 + 1 cifrado <- cifrado + Subcadena(abecedario, nueva, nueva) FinSi FinPara Escribir "Mensaje cifrado: ", cifradoFinAlgoritmoDiagrama de flujo
Cada bloque del diagrama corresponde a una instrucción del código.
Ejemplo de ejecución
Esto muestra el programa al ejecutarlo. Las respuestas escritas por el usuario aparecen resaltadas.
Mensaje a cifrar:Respuesta del usuario: nos vemos a las ochoDesplazamiento (1 a 25):Respuesta del usuario: 3Mensaje cifrado: qrv yhprv d odv rfkr
Desafío
Agrega la opción de descifrar un mensaje ya cifrado.
Ver pista
Descifrar es lo mismo que cifrar con un desplazamiento de 26 menos el original.
Ejemplos relacionados
Palíndromos
Revisa si una frase se lee igual al derecho y al revés.
IntermedioContar vocales
Cuenta las vocales, los espacios y los demás caracteres de un texto.
IntermedioNúmeros romanos
Convierte un número entre 1 y 3999 a números romanos.
Avanzado