Maratón de Programación Microsoft.Net Tu potencial nuestra pasión Universidad del Cauca 1
Reglas de la competencia Restricciones: 1. Los equipos participantes no pueden utilizar ningún tipo de material, ya sea impreso o digital para la realización de los ejercicios. 2. Ninguno de los miembros del equipo puede hablar con los competidores de los otros equipos participantes. 3. Los equipos no deben tener conexión a internet en ningún momento. 4. Cada uno de los integrantes del equipo debe apagar sus equipos móviles (Celulares, Palm s, portátiles u otros similares.) 5. Los miembros de equipo solo pueden usar el computador asignado un lápiz o lapicero y hojas en blanco. Método de trabajo: 1. A cada equipo se le asignara de manera aleatoria uno de los computadores. 2. Los participantes recibirán instrucciones precisas de la forma de trabajo y las reglas del concurso. 3. Cada uno de los equipos tiene aproximadamente 4 horas para completar la prueba. 4. Los ejercicios pueden ser resueltos en diferente orden. 5. Cada ejercicio tiene igual puntuación. 6. Los equipos se clasificarán por tiempo, es decir se suman los tiempos desde el inicio de la prueba hasta la solución de cada ejercicio y se organizan los tiempos de menor a mayor. 7. Si alguno de los equipos termina correctamente (y en el menor tiempo) la solución de todos los ejercicios antes de las 4 horas planeadas se convierte inmediatamente en el ganador de la prueba. 8. Los equipos solo pueden usar las herramientas de Visual Studio.Net para realizar sus programas. 9. Si un ejercicio se presenta 3 veces con igual número de intentos fallidos, este ejercicio no puede volver a ser entregado ya que no será evaluado. Los jurados tienen plena libertad de sancionar con la desclasificación cualquier conducta irregular en el desarrollo de la prueba. ***** EXITOS ***** Universidad del Cauca 2
Problema No. 0 Ejercicio de Prueba Programa Ejecutable: C:\Maraton\Programas\Programa0\debug\prog0.exe Archivo de entrada: prog0.in Archivo de salida: prog0.out Escriba un programa que acepte como entrada una lista de enteros positivo y por cada número leído genere el mismo número pero escrito de manera inversa. La entrada consiste de una serie de números enteros, esta lista termina con el número 0. Por cada entero positivo en la entrada, la salida consiste de un número que se escribe de manera inversa. 12345 8962 0 54321 2698 Universidad del Cauca 3
Problema No. 1 Números divisibles por 11 Programa Ejecutable: C:\Maraton\Programas\Programa1\debug\prog1.exe Archivo de entrada: prog1.in Archivo de salida: prog1.out Escriba un programa que acepte como entrada una lista de enteros positivo y usando el algoritmo escrito abajo verifique si el entero es o no divisible por 11 Algoritmo: Mientras el número que se prueba tenga más de dos dígitos, forme un nuevo número Borrando el dígito de las unidades Restando el dígito borrado del número truncado El número original es divisible por 11 si y solo si, el número restante final es divisible por 11. Los ceros a la izquierda no son considerados parte del número y no deben ser impresos. La entrada consiste de una serie de números enteros, esta lista termina con 0, cada entero positivo tiene un máximo de 50 dígitos. Se puede asumir que no hay 0 a la izquierda en los enteros positivos. Por cada entero positivo en la entrada, la salida consiste de una serie de números formados cuando el último dígito es borrado y restado al número truncado, seguido por un mensaje que indica si el número original es o no divisible por 11. Las salidas para diferentes enteros positivos son separadas por líneas. 12345678901234567900 896245630004 0 12345678901234567900 1234567890123456790 123456789012345679 12345678901234558 1234567890123447 123456789012337 12345678901226 1234567890116 123456789005 12345678895 1234567884 123456784 12345674 1234563 123453 12342 1232 121 11 El numero 12345678901234567900 es divisible por 11. 896245630004 89624562996 8962456293 896245626 89624556 8962449 896235 89618 8953 892 87 El numero 896245630004 no es divisible por 11. Universidad del Cauca 4
Problema No. 2 Estrellas Programa Ejecutable: C:\Maraton\Programas\Programa2\debug\prog2.exe Archivo de entrada: prog2.in Archivo de salida: prog2.out Trabajas para los Laboratorios de Propulsión por Reacción Sputnik. En este momento es necesario que escribas un programa que lea una matriz, la cual contiene una representación digitalizada de una fotografía del cielo. Cada elemento de la matriz representa la cantidad de luz que existe en determinada región de la imagen digitalizada. El rango de intensidad va de 0 a 20. El programa permitirá localizar las regiones donde se ubica una estrella, partiendo de la siguiente información: Una estrella se encuentra en el área cubierta por el elemento i,j de la matriz si se cumple la siguiente condición: (MD(i,j) + suma de intensidades circundantes)/5 > 10.0 Donde MD representa la matriz digitalizada. La primera línea son dos enteros menores que 10 que indican el número de filas y columnas de la matriz, las siguientes líneas contienen enteros que representan las intensidades de cada posición de la matriz, separados por un blanco. La salida deseada es la matriz que contiene un asterisco en la posición donde está localizada una estrella, y un blanco donde no la hay. La matriz debe estar circundada por un borde que indique las coordenadas de cada estrella. La coordenada inicial es 1. Cada elemento de la matriz debe estar separado por un espacio en blanco. 6 8 0 3 4 20 15 0 6 8 5 13 6 8 2 0 2 3 2 6 2 2 3 0 10 0 0 0 4 15 4 1 1 20 0 0 7 2 6 9 10 4 5 0 6 10 6 4 8 0 1 2 3 4 5 6 7 8 1 1 2 2 3 * 3 4 * 4 5 * 5 6 6 1 2 3 4 5 6 7 8 Universidad del Cauca 5
Problema No. 3 Histograma Programa Ejecutable: C:\Maraton\Programas\Programa3\debug\prog3.exe Archivo de entrada: prog3.in Archivo de salida: prog3.out Realizar un programa que construya un conjunto de histogramas para una lista de frases, el programa debe tomar cada una de las frases y por cada letra se debe imprimir un asterisco, simulando una barra del histograma. La primera línea del archivo contiene un número entero que indica el número de histogramas a construir, la segunda línea contiene el número de barras que debe tener el primer histograma, las siguientes líneas contienen la frase que debe ser transformada asteriscos. Las frases tienen un tamaño inferior a 100 letras. La salida deseada es un conjunto de histogramas, donde la primera línea indica el número del histograma. Cada histograma debe tener barras representadas por asteriscos correspondientes al número de letras que tiene cada frase del histograma. 2 5 Hola mundo cruel Programación Estamos programando Programación extrema Célula Unicauca 2 Cauca Sistemas Histograma 1 * * Histograma 2 * * * Universidad del Cauca 6
Problema No. 4 Rotación de letras Programa Ejecutable: C:\Maraton\Programas\Programa4\debug\prog4.exe Archivo de entrada: prog4.in Archivo de salida: prog4.out Realice un programa que lea una lista de frases e imprima una matriz que contenga la misma frase con un carácter corrido hacia la izquierda. La primera línea del archivo contiene un número entero que indica el número de frases contenidas, las siguientes líneas contienen una frase. Las frases no superan los 100 caracteres. Por cada una de las frases de la entrada se debe crear una matriz que contenga la frase de entrada corrida en un carácter hacia la izquierda. El número de líneas de cada matriz será equivalente al número de caracteres de la frase. Cada una de las matrices debe ser separada por una línea en blanco. 2 hola mundo programa hola mundo ola mundoh la mundoho a mundohol mundohola mundohola undohola m ndohola mu dohola mun ohola mund programa rogramap ogramapr gramapro ramaprog amaprogr maprogra aprogram Universidad del Cauca 7
Problema No. 5 Codificación Programa Ejecutable: C:\Maraton\Programas\Programa5\debug\prog5.exe Archivo de entrada: prog5.in Archivo de salida: prog5.out Realice un programa que realice el cifrado de un texto contenido en archivo, mediante la conversión de cada uno de sus caracteres al lenguaje, Marciano 1, el cual se describe a continuación: Carácter Equivalente (6 caracteres sin espacios) A..-... B -... C.-.-.. D..-... E...-.. F -...-. G..-.-. H.--... I --..-. J...--. K.---.. L --... M.---.. N ---... O --..-. P -..--. Q...-. R..-... S -...- T.-.-.- U..-..- V...-.- W -...-- X..-.-- Y.--..- Z --..-- Otro Debe quedar igual La primera línea del archivo contiene un número de palabras a transformar, la siguiente línea contiene cada una de las palabras a transformar. Universidad del Cauca 8
Por cada una de las palabras se debe generar una palabra con la nueva codificación, cada una de las palabras debe estar separadas por un espacio en blanco. Sin importar si la letra esta en mayúsculas o minúsculas debe ser transformada usando el código de Marciano 1. 6 Esta es la frase a codificar...-..-...-.-.-.-..-......-..-...- --...-... -...-...-...-...-...-...-....-....-.-..--..-...-...--..-.-...-.--..-..-.-...-...-... Universidad del Cauca 9