Sustitución en una expresión aritmética

Las expresiones aritméticas con variables pueden representarse usando el siguiente tipo de datos

Por ejemplo, la expresión 2·(a+5) se representa por

Definir la función

tal que sustitucion e s es la expresión obtenida sustituyendo las variables de la expresión e según se indica en la sustitución s. Por ejemplo,

Soluciones

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


Soluciones en Haskell


Soluciones en Python

Un comentario

  1. La función sustitucion se puede implementar de la siguiente manera:

    La función se aplica recursivamente sobre la expresión, revisando el tipo de cada sub-expresión. Si el sub-expresión es una constante (C), se devuelve tal cual. Si es una variable (V), se busca en la lista de sustituciones (s) si existe una sustitución para esa variable. Si existe se devuelve la constante correspondiente, si no se devuelve la variable tal cual. Si el sub-expresión es una suma (S) o un producto (P), se aplica recursivamente la función sustitucion sobre ambos sub-expresiones.

Escribe tu solución