Final ICom-2002 (Complementario)

Nota: Respete los prototipos de las funciones y las estructuras.

  1. Implemente una función recursiva que retorne el punto en que se intersectan dos funciones que se le pasan por argumento como punteros, dentro de un intervalo que también se le pasa por argumento. Prototipo: double busca_cruce( double (*f1)(double), double (*f2)(double), double a, double b, double eps );
    Donde a y b delimitan el intervalo de búsqueda y eps es la precisión con que se desea el valor. Para probar su función verifique que las funciones sin y cos tienen un cruce en el intervalo [0, 3] (que debería ser PI/4).
  2. La siguiente estructura de datos permite representar números enteros con precisión arbitraria:
         typedef struct {
            char sign;
    unsigned char num_bytes;
    unsigned char * bytes; } APint;
    donde:
    sign
    es el signo (-1, 0 o 1),
    num_bytes
    es el número de bytes que se utilizan para representar el número (por ejemplo 4 equivaldría aproximadamente a un int en una arquitectura de 32 bits), bytes es un arreglo que contiene los valores con los que se representa el número.

    Implemente las siguientes funciones:
    1. APint * suma_APint( APint * i1, APint * i2);
    2. APint * producto_APint(APint * i1, APint * i2);