Practica # 2 - UABC-Facultad de Ingeniería campus Mexicali

Anuncio
U.A.B.C
Facultad de Ingeniería
Tecnologías de Programación
Práctica # 2: Cadenas de caracteres
M.C. Pablo M. Navarro Álvarez
EJERCICIO 1:
El código morse representa los caracteres como una secuencia de puntos y rayas de longitud variable. En la
práctica, los caracteres que forman un mensaje están separados por pequeñas pausas entre cada carácter y en nuestro
caso se representara con un espacio en blanco. La siguiente tabla, muestra la secuencia del código Morse.
Note que algunas combinaciones de puntos y rayas no han sido asignadas. Para propósitos de este problema
asignaremos esos valores de la siguiente manera (Esta no es la asignación actual del código Morse):
Por lo tanto, el mensaje “ACM_GREATER_NY_REGION” es codificado de la siguiente manera:
.- -.-. -- ..-- --. .-. . .- - . .-. ..-- -. -.-- ..-- .-. . --. .. --- -.
M.E. Ohaver propuso un esquema de encriptación basado en la mutilación del código morse. Ella remplazo
las pausas entre cada letra (espacio en blanco) con una cadena de números que representa la cantidad de puntos y
rayas que forman cada uno de los caracteres convertidos a clave morse. Por ejemplo, consideremos el mensaje “.--.-.-“. Sin tener un conocimiento de donde debe ir cada pausa o espacio en blanco, este mensaje podría ser “ACM”,
“ANK”, o cualquier otra cantidad de posibilidades. Si agregamos información sobre la longitud de caracteres morse
que forman una letra o carácter, por ejemplo, “.--.-.--242”, entonces el código no sería ambiguo, ya que la serie de
números idéntica que los primeros 2 caracteres morse representan el primer carácter, los siguientes 4 el segundo
carácter y los últimos dos el tercer carácter.
Hacer un programa en C que ofrezca un menú de opciones como el que se muestra a continuación:
Conversión a Clave Morse
[1] Leer una cadena
[2] Convertir la cadena
[3] Imprimir cadena en clave morse
[4] Imprimir cadena encriptada
[5] Terminar




La opción 1, permitirá leer una cadena de caracteres con una longitud máxima de 50 caracteres.
La opción 2, permitirá realizar la conversión de la cadena leída en la opción 1 a su representación en
clave Morse sin mostrar la conversión.
La opción 3, permitirá imprimir la cadena original y su representación en clave morse utilizando un
espacio en blanco para separar cada carácter de la cadena resultante (en clave Morse).
La opción 4, convertirá la cadena en clave Morse a su representación en Morse encriptada utilizando
el Método Ohaver e imprimirá como resultado la cadena original, la representación en clave Morse y
su representación en clave morse encriptada (Método Ohaver), esto es sin separación de caracteres
morse y con la cadena de números indicando las longitudes necesarias para representar cada
carácter.
U.A.B.C
Facultad de Ingeniería
Tecnologías de Programación
Práctica # 2: Cadenas de caracteres
M.C. Pablo M. Navarro Álvarez
EJERCICIO 2:
El ejército mexicano cuenta con un estándar para encriptar mensajes que llevan información confidencial, el
problema es que es muy tardado desencriptarlos a mano por lo que se ocupa desarrollar un programa en C que
reciba uno de estos mensajes encriptados y los haga más fácil de comprender.
El mensaje recibido puede incluir letras de la A-Z minúsculas o mayúsculas, números 0-9 y caracteres
especiales (+ - * /). El mensaje no será mayor a 50 caracteres. El programa debe manipular el mensaje recibido y
separarlo en 2 cadenas diferentes, una para letras y una para números. Cada vez que se encuentre en la cadena
original uno de los siguientes 4 caracteres especiales, se deberá agregar a la cadena de letras el nombre de este
carácter, “Mas” (+), “Menos” (-), “Entre” (/) y “Por” (*). El mensaje puede contener cualquier otro carácter especial a
parte de los 4 mencionados anteriormente, estos deben ser ignorados ya que solo sirven como encriptación extra.
El programa deberá ofrecer un menú de opciones como el que se muestra a continuación:
Menu
1.
2.
3.
4.
Ingresar un nuevo mensaje
Decodificar el mensaje
Mostrar el mensaje original y los mensajes decodificados
Salir

La opción 1, permitirá al usuario ingresar una la cadena que se desea desencriptar.

La opción 2, permitirá manipular la cadena ingresada y llevar a cabo el proceso de separación y
decodificación sin mostrar resultados.

La opoción 3, permitirá mostrar la cadena original y los resultados obtenidos.

La opción 4, permitirá salir del programa.
Ejemplo:
Cadena Original
Në89&ce$#&4sita0=?mò)(s[]+âp87o777yo
Resultado
Letras: NëcesitamòsMasâpoyo
Números: 89487777
Descargar