Máximos de expresiones aritméticas
Las expresiones aritméticas se pueden definir usando el siguiente tipo de datos
data Expr = N Int | X | S Expr Expr | R Expr Expr | P Expr Expr | E Expr Int deriving (Eq, Show)
Por ejemplo, la expresión
3*x - (x+2)^7
se puede definir por
R (P (N 3) X) (E (S X (N 2)) 7)
Definir la función
maximo :: Expr -> [Int] -> (Int,[Int])
tal que (maximo e xs) es el par formado por el máximo valor de la expresión e para los puntos de xs y en qué puntos alcanza el máximo. Por ejemplo,
λ> maximo (E (S (N 10) (P (R (N 1) X) X)) 2) [-3..3] (100,[0,1])

