Diciembre - Universidad de Málaga

Anuncio
E.T.S.I. Informática. Universidad de Málaga
Examen Extraordinario, Diciembre de 2010
Programación Declarativa (tercer curso)
(Programación Funcional)
1
2
1
2
1
3
1
4
2
5
1
6
1
7
2
Apellidos:
Nombre:
total
10.0
Demostrad, indicando la técnica utilizada, que el siguiente operador (++) es asociativo:
[]
++ ys = ys
(x : xs) ++ ys = x : (xs ++ys)
.
.
.
.
2
Definid, dando su tipo, la función f xs = [ x2 | x ← xs, even x ] sin usar listas por comprensión:
f :: . . .
.
.
3
Sea la definición de tipo
data Arbol a = H a | Arbol a :∧ : Arbol a
Definid, dando su tipo, la función f rontera que aplicada a un árbol del tipo anterior, produce una lista con el
valor de sus hojas recorridas de izquierda a derecha.
f rontera :: . . .
4
Definid una función de plegado pliegaArbol para el tipo Arbol dando su tipo:
pliegaArbol :: . . .
.
5
6
.
Expresad la función f rontera vı́a pliegaArbol.
f rontera = pliegaArbol . . .
.
Definid la función aN ivel que sustituya el valor de cada hoja por el nivel en que se encuentra dicha hoja.
a
ÄÄ
ÄÄ
Ä
Ä
ÄÄ Ä
· NNN
NNN
NNN
NNN
NN'
·=
¢¢ ===
¢
==
¢
==
¢¢
Á
¡¢¢
c
·<
¢¢ <<<
¢
¢
<<
¢¢
<<
¡¢¢
Á
e
d
1
⇒
ÄÄ
ÄÄ
Ä
Ä
ÄÄ Ä
· NNN
NNN
NNN
NNN
NN'
·>
¢¢ >>>
¢
>>
¢
>>
¢¢
Á
¡¢¢
·=
2
¢¢ ===
¢
==
¢
==
¢¢
¡¢¢
Á
3
3
aN ivel :: . . . .
.
7
Describid una red de procesos ası́ como sus ecuaciones Haskell para computar la sucesión de Fibonacci.
Descargar