Número de sumas 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 sumas e es el número de sumas en 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

Valor de una expresión aritmética con variables

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 valor x e es el valor de la expresión x en el entorno e (es decir, el valor de la expresión donde las variables de x se sustituyen por los valores según se indican en el entorno e). Por ejemplo,

Soluciones

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


Soluciones en Haskell


Soluciones en Python

El tipo de las expresiones aritméticas con variables

1. El tipo de las expresiones aritméticas con variables en Haskell

La expresión 2*(a+5) puede representarse por

usando el tipo de las expresiones aritméticas con variables definido como se muestra a continuación.

2. El tipo de las expresiones aritméticas con variables en Python

La expresión 2*(a+5) puede representarse por

usando el tipo de las expresiones aritméticas con variables definido como se muestra a continuación.

Número de variables de una expresión aritmética

Las expresiones aritméticas construidas con una variable (denotada por X), los números enteros y las operaciones de sumar y multiplicar se pueden representar mediante el tipo de datos Expr definido por

Por ejemplo, la expresión X·(13+X) se representa por

Definir la función

tal que numVars e es el número de variables en 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

Valor de una expresión aritmética con una variable

Las expresiones aritméticas construidas con una variable (denotada por X), los números enteros y las operaciones de sumar y multiplicar se pueden representar mediante el tipo de datos Expr definido por

Por ejemplo, la expresión X·(13+X) se representa por

Definir la función

tal que valor e n es el valor de la expresión e cuando se sustituye su variable por n. Por ejemplo,

Soluciones

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


Soluciones en Haskell


Soluciones en Python