1ª Convocatoria 24/01/2004 Lenguajes de Programación y Estructura de Datos 1. Construya una función recursiva que calcule el factorial de un número entero y otra que muestre las letras del alfabeto. 2. A partir de la declaración de la estructura global: typedef struct { char *sensores; short int codigo; } *dispositivos; dispositivos p; int main(void ) { ….. } escriba un programa que guarde en un fichero binario de lectura y escritura , el número de estructuras indicado por el usuario. 3. Un polinomio se puede representar como una lista enlazada. El primer nodo de la lista representa el primer término del polinomio, el segundo nodo, el segundo término, y así sucesivamente. Cada nodo tiene como campo dato el coeficiente del término y el exponente. Por ejemplo, el polinomio 3 x 4 − 4 x 2 + 11 se representa: 3 4 -4 2 11 0 Escriba un programa que permita dar entrada a polinomios en x, representándolos con una lista enlazada simple. A continuación haga que la lista sea circular, de manera que pueda sumar o multiplicar polinomios. 4. Explique en que consiste los métodos de ordenación Shell y Rápida. Utilice como ejemplo el siguiente array de enteros: 5 1 9 7 3 6 0 2 7. A continuación, utilizando el método Shell, escriba una función que ordene estructuras en función decreciente, según un campo asociado a un número entero.