Conversión a Clave Morse

Anuncio
U.A.B.C
Facultad de Ingeniería
Tecnologías de Programación Ejercicio de 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 Ejercicio de Cadenas de caracteres
M.C. Pablo M. Navarro Álvarez
EJERCICIO 2:
Hacer un programa en C que lea una cadena de caracteres con una longitud máxima de 80 caracteres y que
contiene el siguiente formato:
Nombre completo, dirección (calle numero colonia código postal), email, teléfono
El programa deberá validar que los datos estén correctos y los desglose como se muestra en el siguiente
ejemplo:
Cadena leída desde el teclado:
Pablo navarro alvarez, calzada cetys 898 cp 92231, [email protected], (686)566-42-70
Salida generada por el programa:
Nombre: Pablo Navarro Alvarez
Dirección: calzada Cetys #898, cp 92231
Email: [email protected]
Teléfono: (686) 5664270
Se deben considerar las características que a continuación se enlistan:

Nombre, se deberá validar que contenga puras letras, espacios en blanco, letras acentuadas, diéresis
o apóstrofes, además deberá transformarlo de tal forma que todas las letras iniciales sean en
mayúscula. Si contiene carácter invalida notificarlo.

Dirección, anteponer al número el símbolo de # y agregar una coma después del número si está
incluido el código postal, sino está incluido el código postal no incluir la coma. Recuerda que para
saber si existe un código postal, deben aparecer las letras “cp” en la dirección.

Email, se deberá validar que la cadena correspondiente a email incluya como valores validos letras,
dígitos, carácter de punto, guion bajo, guion medio y forzosamente el carácter de @. Cualquier error
en los caracteres proporcionados deberá ser notificado.

Teléfono, se deberá validar que la cadena correspondiente a teléfono solo contenga dígitos, () y el
carácter “‐”, cualquier otro carácter deberá ser tratado y notificado como error. Al momento de
escribir el número de teléfono se deberán eliminar todos los caracteres de “‐”.
FELICES FIESTAS PATRIAS!!!!
Descargar