Está en la página 1de 3

Cifrado Cesar

Santiago Cano Zapata


Jorge Alejandro Munera
Mateo Navarro

Pseint, Seudocódigo
//Subproceso que permite identificar el numero del alfabeto
Funcion Index <- findstr (Alfabeto, Char)
Index=-1
Para I<--1 Hasta Longitud(Alfabeto) Con Paso 1 Hacer
Si (Subcadena(Alfabeto,I,I))==Char Entonces
Index=I

Fin Si
Fin Para
Fin Funcion
//Algoritmo que permite codificar un texto por medio del cifrado Cesar
Algoritmo CifradoCesar
Definir msgIn como Texto
Definir n Como Entero
Alfabeto = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"

//Tamaño del mensaje


LongitudAlfabeto = Longitud(Alfabeto)

Escribir "msgIn:"
Leer msgIn

Escribir ""

Escribir "Para desplazarse a la izquierda, ingrese numeros negativos"


Escribir "Para desplazarse a la derecha , ingrese numeros positivos"

Escribir "Numero de desplazamientos:"


Leer n

//Se convierte el mensaje a letras mayusculas


msgIn = Mayusculas(msgIn)

Escribir "Mensaje: ",msgIn,", Longitud:", ConvertirATexto(Longitud(msgIn))

//Se inicia el mensaje de salida


msgOut= ""

Para I<-1 Hasta Longitud(msgIn) Con Paso 1 Hacer


Char= Subcadena(msgIn,I,I)//Se extrae el caracter
Index = findstr(Alfabeto,Char)//Se identifica la posicion del simbolo en el alfabeto
Escribir "Caracter: ",char,"(",ConvertirATexto(Index),")"
Si (Index == -1) Entonces //Se determina el simbolo no reconocido
msgOut = Concatenar(msgOut,Char)//Se agrega el mismo simbolo
Sino
//Se define la posición del nuevo simbolo
pos = Index+n

//Se garantiza que el numero de desplazamientos no exceda el numero de


simbolos
pos = (pos Mod LongitudAlfabeto)

//Escribir "posActual:", (Index+n),",posDesplazar:",pos

//Se hace el ajuste de desplazamiento a la izquierda


Si (pos <1) Entonces
pos = pos + LongitudAlfabeto
Fin Si
msgOut = Concatenar(msgOut,Subcadena(Alfabeto,pos,pos))
//Escribir "msgOut:",msgOut
Fin Si
Fin Para

//Se imprime el mensaje cifrado


Escribir "msgOut :",msgOut

FinAlgoritmo

También podría gustarte