Taller P1_2019c2
Taller P1_2019c2
Taller P1_2019c2
composicion_t* composicion_crear( );
void composicion_destruir(composicion_t*);
bool composicion_agregar_funcion(composicion_t*, double (*f)(double));
double composicion_aplicar(composicion_t*, double);
Considerar que primero se irán agregando las funciones como se leen, pero tener en cuenta el correcto orden
de aplicación. Por ejemplo: para emular f(g(x)), se debe hacer:
composicion_agregar_funcion(composicion, f) composicion_agregar_funcion(composicion, g)
composicion_aplicar(composicion, x)
Escribir una primitiva que reciba una lista y devuelva el elemento que esté a k posiciones del final (el ante-k-
último), recorriendo la lista una sola vez y sin usar estructuras auxiliares.Considerar que k es siempre menor
al largo de la lista.
3. Implementar una función en C que reciba un arreglo de n enterossin repetir y ordenados ascendentemente,
y determine en O(logn) si es mágico. Un arreglo es mágico si existe algún valor i (entre 0 y n − 1) tal quearr[i] =
i.
Ejemplos:
4. Dada una pila de enteros, escribir unafunción que determine si es piramidal. Una pila de enteros es
piramidal si cada elemento es menor a su elemento inferior (en el sentido que va desde el tope de la pila hacia
el otro extremo). La pila no debe ser modificada al terminar la función.
Indicar el orden del algoritmo propuesto.
5. Implementar la primitiva void** cola_multiprimeros(const cola_t* cola, size_t k) que dada una
cola y un número k, devuelva los primeros k elementos de la cola, en el mismo orden en el que habrían salido
de la cola. En caso que la cola tenga menos de k elementos, rellenar con NULL.
6. Implementar en C una función que dado un número, encuentre porDivisión y Conquista la parte entera de
su raíz cuadrada, en tiempo O(logn). Demostrar, utilizando el Teorema Maestro, el orden de dicho algoritmo.
Ejemplos: - raiz(10) ---> 3 - raiz(11) ---> 3 - raiz(25) ---> 5
7. Implementar en C una primitiva void lista_invertir(lista_t* lista) que invierta la lista recibida
por parámetro. Indicar y justificar el orden de la primitiva.