Está en la página 1de 5

FUNDAMENTOS DE PROGRAMACION EXAMEN PRACTICO 1 (Noviembre 2012) Importante!

! No se corregir ninguna pr ctica que no cumpla a a escrupulosamente las normas que aparecen a continuaci n o
Descripci n de la pr ctica o a La pr ctica consiste en la realizaci n de uno de los problema que se describen m s adelante. El a o a problema concreto que habr que resolver el da del examen, se dar a conocer al inicio de la a a prueba. El tiempo que se tendr el da del examen es de 1 hora. a En la evaluaci n de las pr cticas se tendr en cuenta, adem s de la correcci n de la soluci n o a a a o o propuesta, el estilo de programaci n, el uso correcto de espacios y tabuladores, la correcta deso cripci n del algoritmo as como la claridad del c digo fuente. o o La ejecuci n de los programas por parte del profesor se har de forma autom tica, leyendo los o a a datos desde un chero de vericaci n y comprobando que la salida es correcta. En cualquier caso, o el alumno puede comprobar que el programa funciona correctamente introduciendo los datos desde un chero o desde el teclado. Recordemos que para leer los datos de un chero hay que ejecutar el programa desde una consola de sistema y redirigir la entrada de datos en la forma: problema.exe < verificacion.txt, donde verificacion.txt es el nombre del chero de vericaci n. Si usa Visual Studio, tamo bi n puede ejecutarlo y depurarlo desde el mismo entorno, indicando el nombre del chero de e entrada y el directorio en el que se encuentra. Para ello, hay que irse a la ventana del Explorador de Soluciones y hacer click sobre el nombre del proyecto (no sobre el chero cpp), y ahora seleccionar desde el men principal: u
Proyecto/Propiedades Propiedades de Configuracin/Depuracin o o Argumentos del comando/Editar/

En esta opci n hay que introducir el car cter < seguido del nombre del chero de vericaci n. o a o Indicaremos la carpeta en la que se encuentra el chero de vericaci n, a trav s de la opci n o e o siguiente:
Proyecto/Propiedades Propiedades de Configuracin/Depuracin o o Directorio de trabajo/

C/ Periodista Daniel Saucedo Aranda s/n, ETSI Informtica, 18071 Granada, Tlf.: +34.958.244019, Fax: +34.958.243317 a

En los enunciados de los ejercicios encontrar ejemplos de vericaci n con un formato similar al a o siguiente: Entrada: 153 Salida: SI En el apartado Entrada se describe el formato en el que el programa espera encontrar los datos en el chero de vericaci n. En la Salida, se especica la salida que el programa debe dar. Es o importante remarcar que la salida del programa debe aparecer sola en una lnea de texto siguiendo EXACTAMENTE el formato especicado.

Instrucciones a seguir el da del examen Para iniciar sesi n en las aulas de pr cticas, tendr que introducir su identicador de usuario y o a a contrase a como siempre. En la casilla C digo, deber introducir el que se le diga el mismo n o a da del examen. Con este c digo s lo tendr acceso Internet a la p gina de la asignatura. No o o a a tendr disponible su unidad en red U: ni los puertos USB. a Al inicio del examen, se le indicar el problema que ha de resolver. Tendr que bajar el chero a a problema.zip que se encuentra en la web de la asignatura (Material de la Asignatura Examen) a la carpeta local Mis Documentos. Para copiar el chero desde la web, hay que pinchar con el bot n derecha del rat n y seleccionar Guardar destino como. o o Una vez copiado el chero en la carpeta Mis Documentos, pinchad con el bot n derecha del o rat n y seleccionad Extraer todo, para poder extraer los archivos incluidos y abrir el chero de o soluci n correspondiente. Una vez abierto el proyecto, debe modicar los datos que aparecen en la o cabecera del chero problema.cpp. En concreto, su nombre, el nombre del ordenador en que se sienta y el nombre del problema que aparece entre corchetes en la p gina de los enunciados. a La entrega de la pr ctica se har durante la hora que dura el examen. Para ello, se usar el sistema a a a de gesti n autom tica de pr cticas (GAP) accesible a partir de la p gina web de la asignatura o a a a (Men Principal GAP). Una vez dentro de GAP habr que seleccionar u a Prcticas -> Entregar -> Examinar a Se abrir un cuadro de di logo en el que buscar el chero problema.cpp. Una vez seleccioa a a nado, debe pulsar sobre Entregar prctica a Cualquier intento de entregar la pr ctica fuera de la hora del examen conllevar el suspenso aua a tom tico. a Importante: El unico chero que se debe subir a GAP es el chero problema.cpp. No debe subirse ning n otro chero (como por ejemplo los cheros con extensi n .vcproj o sln u o asociados a los proyectos en Visual Studio).
C/ Periodista Daniel Saucedo Aranda s/n, ETSI Informtica, 18071 Granada, Tlf.: +34.958.244019, Fax: +34.958.243317 a

La pr ctica se puede entregar tantas veces como se quiera durante el examen. El sistema GAP a guarda la ultima entrega. De hecho, se recomienda que se entregue varias veces a lo largo del examen, ya que si el ordenador se quedara colgado, habra que reiniciarlo y se perdera toda la informaci n. o Tiempo de examen: 1 HORA

C/ Periodista Daniel Saucedo Aranda s/n, ETSI Informtica, 18071 Granada, Tlf.: +34.958.244019, Fax: +34.958.243317 a

Lista de ejercicios a caer en el examen


Cualquiera de los ejercicios pedidos en las sesiones 6, 7 y 8. Para resolver estos ejercicios deben usarse las herramientas vistas en el tema 3 (funciones y clases). Alguno de los ejercicios siguientes (s lo pueden usarse las herramientas vistas en los dos primeros o temas): 1. [narcisista] Un n mero entero de n dgitos se dice que es narcisista si se puede obtener u como la suma de las potencias n- simas de cada uno de sus dgitos. Por ejemplo 153 y 8208 e 3 3 3 son n meros narcisistas porque 153 = 1 + 5 + 3 y 8208 = 84 + 24 + 04 + 84 . Construir un u programa que, dado un n mero entero positivo, nos indique si el n mero es o no narcisista. Si u u se va a usar la funci n pow, no pueden ser ambos argumentos enteros, por lo que forzaremos o a que la base (por ejemplo) sea double, multiplicando por 1.0. Las posibles salidas ser n SI o NO a Entrada: 153 Salida: SI 2. [RLE] El m todo RLE (Run Length Encoding) codica una secuencia de datos formada por e series de valores id nticos consecutivos como una secuencia de parejas de n meros (valor e u de la secuencia y n mero de veces que se repite). Esta codicaci n es un mecanismo de u o compresi n de datos (zip) sin p rdidas. Se aplica, por ejemplo, para comprimir los cheros o e de im genes en las que hay zonas con los mismos datos (fondo blanco, por ejemplo). Realizar a un programa que lea una secuencia de n meros naturales terminada con un n mero negativo u u y la codique mediante el m todo RLE. e Entrada: 1 1 1 2 2 2 2 2 3 3 3 3 3 3 5 -1 Salida: 3 1 5 2 6 3 1 5 3. [ruso] El algoritmo de la multiplicaci n rusa es una forma distinta de calcular la multiplio caci n de dos n meros enteros n m. Para ello este algoritmo va multiplicando por 2 el o u multiplicador m y dividiendo (sin decimales) por dos el multiplicando n hasta que n tome el valor 1 y suma todos aquellos multiplicadores cuyos multiplicandos sean impares. Por ejemplo, para multiplicar 37 y 12 se haran las siguientes iteraciones Iteraci n Multiplicando Multiplicador o 1 37 12 2 18 24 3 9 48 4 4 96 5 2 192 6 1 384 Con lo que el resultado de multiplicar 37 y 12 sera la suma de los multiplicadores corres pondientes a los multiplicandos impares (en negrita), es decir 37*12=12+48+384=444 Entrada: 37 12 Salida: 444
C/ Periodista Daniel Saucedo Aranda s/n, ETSI Informtica, 18071 Granada, Tlf.: +34.958.244019, Fax: +34.958.243317 a

4. [feliz] Se dice que un n mero natural es feliz si cumple que si sumamos los cuadrados de sus u dgitos y seguimos el proceso con los resultados obtenidos, nalmente obtenemos uno (1) como resultado. Por ejemplo, el n mero 203 es un n mero feliz ya que 22 + 02 + 32 = 13 u u 12 + 32 = 10 12 + 02 = 1. Se dice que un n mero es feliz de grado k si se ha podido demostrar que es feliz en un u m ximo de k iteraciones. Se entiende que una iteraci n se produce cada vez que se elevan al a o cuadrado los dgitos del valor actual y se suman. En el ejemplo anterior, 203 es un n mero u feliz de grado 3 (adem s, es feliz de cualquier grado mayor o igual que 3) a Escribir un programa que diga si un n mero natural n es feliz para un grado k dado de u antemano. Tanto n como k son valores introducidos por el usuario. Las posibles salidas ser n SI o NO a Entrada: 203 Salida: SI 5. [secuencia] Diremos que un n mero entero positivo es secuenciable si se puede generar como u suma de n meros consecutivos. Por ejemplo, 6 = 1 + 2 + 3, 15 = 7 + 8. Esta descomposici n u o no tiene por qu ser unica. Por ejemplo, 15 = 7 + 8 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5. Escribir e un programa que lea un entero n y nos diga cu ntas descomposiciones posibles tiene. a Ejemplos de descomposiciones: 15 (3), 94 (1), 95 (3), 108 (3) Los unicos n meros con 0 descomposiciones son las potencias de 2. u Entrada: 15 Salida: 3 6. [busca] Se pide leer dos enteros sabiendo que el primero no tiene un tama o jo y que el n segundo siempre es un entero de dos dgitos. Se pide comprobar si el segundo est contenido a en el primero. Entendemos que est contenido si los dos dgitos del segundo entero est n en a a el primer entero de forma consecutiva y en el mismo orden. Por ejemplo, 89 est contenido a en 7890, en 7789 y en 8977 pero no en 7980. Las posibles salidas ser n SI o NO a Entrada: 7890 89 Salida: SI 7. [subsecuencia] Escribir un programa que lea una secuencia de n meros enteros en el rango u de 0 a 100 terminada en un n mero mayor que 100 o menor que 0 y encuentre la subseu cuencia de n meros ordenada, de menor a mayor, de mayor longitud. El programa nos debe u decir la posici n donde comienza la subsecuencia y su longitud. Por ejemplo, ante la entrada o siguiente: 23 25 7 40 45 45 73 73 71 4 9 101 el programa nos debe indicar que la mayor subsecuencia empieza en la posici n 3 (en el 7) o y tiene longitud 6 (termina en la segunda aparici n del 73) o Entrada: 23 25 7 40 45 45 73 73 71 4 9 101 Salida: 3 6

C/ Periodista Daniel Saucedo Aranda s/n, ETSI Informtica, 18071 Granada, Tlf.: +34.958.244019, Fax: +34.958.243317 a

También podría gustarte