TAD de los polinomios: Regla de Ruffini

Usando el tipo abstracto de los polinomios, definir las funciones

tales que

  • cocienteRuffini r p es el cociente de dividir el polinomio p por el polinomio x-r. Por ejemplo:

  • restoRuffini r p es el resto de dividir el polinomio p por el polinomio x-r. Por ejemplo,

Comprobar con QuickCheck que, dado un polinomio p y un número entero r, las funciones anteriores verifican la propiedad de la división euclídea.

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de los polinomios: Regla de Ruffini con representación densa

Usando el tipo abstracto de los polinomios definir la función

tal que ruffiniDensa r cs es la lista de los coeficientes del cociente junto con el rsto que resulta de aplicar la regla de Ruffini para dividir el polinomio cuya representación densa es cs entre x-r. Por ejemplo,

ya que

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de los polinomios: Término independiente de un polinomio

Usando el tipo abstracto de datos de los polinomios definir la función

tal que terminoIndep p es el término independiente del polinomio p. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de los polinomios: Método de Horner del valor de un polinomio

El método de Horner para calcular el valor de un polinomio se basa en representarlo de una forma forma alernativa. Por ejemplo, para calcular el valor de

se representa como

y se evalúa de dentro hacia afuera; es decir,

Usando el tipo abstracto de los polinomios, definir la función

tal que horner p x es el valor del polinomio p al sustituir su variable por el número x. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de los polinomios: Divisibilidad de polinomios

Usando el tipo abstracto de los polinomios, definir la función

tal que divisiblePol p q se verifica si el polinomio p es divisible por el polinomio q. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python