Valor de expresiones aritméticas generales

Las operaciones de suma, resta y multiplicación se pueden representar mediante el siguiente tipo de datos

La expresiones aritméticas con dichas operaciones se pueden representar mediante el siguiente tipo de dato algebraico

Por ejemplo, la expresión

se representa por

Definir la función

tal que valor e es el valor de la expresión e. 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 «valor» se puede definir de la siguiente manera en Haskell:

    La función recursivamente recorre la expresión, y en cada nivel verifica si se trata de un número constante (C n), en cuyo caso retorna ese número, o si se trata de una operación (A op e1 e2), en cuyo caso realiza la operación correspondiente (suma, resta o multiplicación) entre los valores de e1 y e2.

Escribe tu solución