====== Examen Parcialito - 75.41. Algoritmos y Programación II - 28/09/2012 ====== **Cátedra:** Wachenchauzer\\ **Fecha:** Primera Oportunidad - (Segundo Cuatrimestre) 2012\\ **Día:** 28/09/2012 Esta página está incompleta; podés ayudar completando el material. ===== Enunciado ===== Resolvé los siguientes problemas en forma clara y legible, respetando sangrías e incluyendo la documentación necesaria. Si te parece que los comentarios no son suficientemente explicativos, podés agregar una descripción del funcionamiento del código. Podés escribir tantas funciones auxiliares como creas necesarias. ==== Punto I ==== Dado un TDA ListaEnlazada con las siguientes definiciones de tipos: typedef struct nodo { struct nodo *siguiente; int valor; /* El dato del nodo es int */ } nodo_t; typedef struct lista { nodo_t *primero; nodo_t *ultimo: } lista_t; a) Implementar una nueva primitiva //"lista_map"// que reciba como primer parámetro un puntero a una función //f// (que tome y devuelva un número entero), y como segundo parámetro un puntero a //lista_t//. //lista_map// debe reemplazar cada uno de los valores de la lista por el resultado de aplicar la función //f// a dichos valores. \\ b) Muestre un ejemplo de invocación a la primitiva //lista_map// con una función que eleve al cuadrado. ==== Punto II ==== Escribir una función que reciba una pila y un parámetro //n// con la cantidad de elementos en la pila y la "parta" en dos: la que es recibida por parámetro contendrá la primera mitad (elementos de 0 a n/2-1), y la pila devuelta por la función tendrá los elementos de n/2 a n-1, manteniendo el orden de la pila original. (Se pueden usar las estructuras auxiliares que se crean convenientes). ==== Punto III ==== Escribir una función que reciba dos números naturales, y devuelva //true// si los dos números son consecutivos en la sucesión de Fibonacci, o //false// en el caso de que no lo sean. La sucesión de Fibonacci está definida como: F(0) = 0, F(1) = 1 y F(n) = F(n-1) + F(n-2). ¿De qué orden es la solución propuesta? ¿Se puede encontrar una solución más eficiente? ¿Cómo? ===== Resolución ===== ===== Discusión ===== Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.