Un polinomio se puede representar por una lista de coeficientes ordenados por grado (de menor a mayor). Por ejemplo, el polinomio 4x3 −1 + 2x + 2x5 − 3x2 se puede representar con la lista [−1, 2, −3 , 4 , 0, 2]. Un monomio es un polinomio de un solo término. Por ejemplo −2x3 es un monomio cuya representación como lista es [0, 0, 0, −2]. Notad que si el polinomio no es nulo, la lista que lo representa tiene como longitud exactamente el grado del polinomio mas uno. El polinomio nulo se representa con la lista vacía.
Diseñad las funciones que se piden a continuación. En todos los casos supondremos que los polinomios de entrada no son nulos. Aunque no es una hipótesis crucial, supondremos que los coeficientes de los polinomios de entrada son números enteros.
Puntuación
Cada apartado vale 25 puntos.
>>> derivada([-1, 5, -2, 3]) [5, -4, 9] >>> producto_monomio([1,3,2], [0,0,0,0,3]) [0, 0, 0, 0, 3, 9, 6] >>> suma([1, 1], [-2, -1 , 0, 3]) [-1, 0, 0, 3] >>> suma([2, 1, -1, 2], [-1, 1, 1, -2]) [1, 2] >>> suma([0, 1], [0, -1]) [] >>> producto([1, 1], [1, -1]) [1, 0, -1] >>> producto([2, 0, 1], [1, -1, 1, 2]) [2, -2, 3, 3, 1, 2] >>> producto([1, 2, 3, 4], [-1]) [-1, -2, -3, -4]