TAD de los polinomios - Suma de polinomios
Utilizando el tipo abstracto de datos de los polinomios definir las funciones
sumaPol :: (Num a, Eq a) => Polinomio a -> Polinomio a -> Polinomio a
tal que (sumaPol p q) es la suma de los polinomios p y q. Por ejemplo,
λ> ejPol1 = consPol 4 3 (consPol 2 (-5) (consPol 0 3 polCero)) λ> ejPol2 = consPol 5 1 (consPol 2 5 (consPol 1 4 polCero)) λ> ejPol1 3*x^4 + -5*x^2 + 3 λ> ejPol2 x^5 + 5*x^2 + 4*x λ> sumaPol ejPol1 ejPol2 x^5 + 3*x^4 + 4*x + 3
Comprobar con QuickCheck las siguientes propiedades:
-
polCeroes el elemento neutro de la suma. - la suma es conmutativa.