| Ejercicios sesión 5. |
|
|
Ejercicios a resolver 1.- WERTYU Un problema muy común de tecleo es colocar los dedos en el teclado desfasados a la derecha en una columna . Por lo que la letra “Q” se teclea como “W”, la “J” como “K”, etc. Tu tarea será decodificar un mensaje tecleado de esta manera. Entrada: La entrada consiste en varias líneas de texto. Cada línea puede contener digitos, espacios, letras mayusculas (excepto “Q”, “A”, y “Z”), o signos de puntuación (los mostrados en el teclado de la figura). Las teclas como [Tab, BackSp, Control, etc] no estarán presentes en la entrada. Salida: Usted deberá reemplazar cada letra o signo de puntuación por el inmediato izquierdo según el teclado QWERTY mostrado en la figura. El espacio en blanco en la entrada será el único respetado en la salida. Por ejemplo: ENTRADA SALIDA O S, GOMR YPFSU I AM FINE TODAY KR DIOD CONYRNY JE SUIS CONTENT
2. Matriz elevada
Realizar un programa que aplique una potencia a cada elemento de la matriz. Entrada: La entrada será dada en un archivo donde la primer línea tendrá 3 números k, n, m > 0 y <10000. Donde n es el número de filas y m el número de columnas. k es la potencia requerida. Las siguientes n líneas corresponden a las filas de la matriz con m números cada una, separados por un espacio. Salida: La salida será la matriz transformada (solo eso).
3.- Descubriendo el refrán Descripción del problema Un maestro muy creativo intenta que sus alumnos aprendan refranes y dichos populares. Para esto les asigna juegos de palabras en los que tienen que aplicar intercambios de letras, para luego descubrir el refrán que se forma con las palabras resultantes. Para que el ejercicio sea más atrayente, el maestro ha utilizado distintas formas de intercambio de letras en las palabras: 1. las palabras con un número par de letras están invertidas. Por ejemplo: sarbalap es palabras 2. Las palabras con un número impar de letras tienen intercambiados los conjuntos de letras de los extremos, sin alterarse las tres letras del medio de la palabra. cosmpioli sería olimpicos 3. Las palabras de 1 y de 3 letras, no se alteran. Por ejemplo: uno seguiría siendo uno Una vez que las palabras han sido descubiertas, se obtiene el refrán colocándolas una detrás de la otra, en el orden de entrada y separadas por blanco, finalizando con un punto luego de la última palabra. Para ayudar al maestro con esta ejercitación, se te pide que escribas un programa refran.java que permita descubrir la cadena de palabras que representa el refrán. Datos de entrada Se recibe desde la línea de comando y deberá contener: p <palabras> La cantidad p de palabras ( 2 ≤ p ≤ 1,000 ) seguido de las p palabras. Las letras serán minúsculas, sin acento, pertenecientes al alfabeto internacional: “abcdefghijklmnopqrstuvwxyz”. Datos de salida El programa debe tener de salida una línea conteniendo el refrán, es decir las p palabras separadas por blanco seguidas de un punto. Ejemplo Si la entrada contiene: 7 on por ouchm ragurdam ceaneam mas onarpmet La salida será: no por mucho madrugar amanece mas temprano.
4.- Mensajes secretos Descripción del problema Dos amigas necesitan enviarse por correo electrónico mensajes muy importantes y extremadamente reservados. Ante el temor de que alguien pueda leer los correos, deciden codificar los mensajes. La estrategia que utilizan es la siguiente: ciertos trozos disjuntos (o sea sin superposición) del texto los escriben en orden inverso y los encierran entre paréntesis, de manera tal de no olvidar que esos trozos deben ser leídos al revés. Para facilitarles la tarea se te pide que escribas un programa SECRETO.EXE que permita decodificar los mensajes enviados. El programa leerá el mensaje a decodificar del archivo SECRETO.IN y grabará el mensaje decodificado en el archivo SECRETO.OUT.
Aclaraciones El mensaje original a transmitir está formado por caracteres que pueden ser letras, números y/o signos de puntuación pero no paréntesis. De esta manera se evitan problemas en el momento del encriptado. Datos de entrada Se recibe un archivo de texto SECRETO.IN del directorio actual, que contiene una única línea con una cantidad máxima de 500 caracteres. Esta línea consta de letras, números, signos de puntuación y posiblemente paréntesis producto del encriptado.
Datos de salida El programa SECRETO.EXE debe generar el archivo SECRETO.OUT con el mensaje decodificado, en el directorio actual. Ejemplo Si el archivo SECRETO.IN contiene: Hoy (.sh 22 sal a) (ed asac ne sominuer son) Marcelo. El archivo SECRETO.OUT deberá contener: Hoy a las 22 hs. nos reunimos en casa de Marcelo.
|
