====== 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á.