Piensa_en_Haskell

Páginas: 244 (60867 palabras) Publicado: 8 de julio de 2016
Piensa en Haskell
(Ejercicios de programación funcional con Haskell)

José A. Alonso Jiménez
Ma José Hidalgo Doblado

Grupo de Lógica Computacional
Dpto. de Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
Sevilla, 10 de Julio de 2012 (Versión de 11 de octubre de 2012)

2

A mi amigo Felipe

3
Esta obra está bajo una licencia Reconocimiento–NoComercial–CompartirIgual2.5 Spain
de Creative Commons.

Se permite:
copiar, distribuir y comunicar públicamente la obra
hacer obras derivadas
Bajo las condiciones siguientes:
Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada
por el autor.
No comercial. No puede utilizar esta obra para fines comerciales.
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una
obraderivada, sólo puede distribuir la obra generada bajo una licencia idéntica a
ésta.
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de
esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los
derechos de autor.

Esto es un resumen del texto legal (la licencia completa). Para ver una copia de esta
licencia, visite❤tt♣✿✴✴❝r❡❛t✐✈❡❝♦♠♠♦♥s✳♦r❣✴❧✐❝❡♥s❡s✴❜②✲♥❝✲s❛✴✷✳✺✴❡s✴ o envie una
carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

4

Índice general
I

Introducción a la programación funcional

19

1 Definiciones elementales de funciones
1.1
Media de 3 números . . . . . . . . . . . . . . .
1.2
Suma de euros de una colección de monedas
1.3
Volumen de la esfera . . . . . . . . .. . . . .
1.4
Área de una corona circular . . . . . . . . . .
1.5
Última cifra de un número . . . . . . . . . . .
1.6
Máximo de 3 elementos . . . . . . . . . . . . .
1.7
Disyunción excluyente . . . . . . . . . . . . .
1.8
Rotación de listas . . . . . . . . . . . . . . . .
1.9
Rango de una lista . . . . . . . . . . . . . . . .
1.10 Reconocimiento de palíndromos . . . . . . . .
1.11 Elementosinteriores de una lista . . . . . . . .
1.12 Finales de una lista . . . . . . . . . . . . . . .
1.13 Segmentos de una lista . . . . . . . . . . . . .
1.14 Extremos de una lista . . . . . . . . . . . . . .
1.15 Mediano de 3 números . . . . . . . . . . . . .
1.16 Igualdad y diferencia de 3 elementos . . . . .
1.17 Igualdad de 4 elementos . . . . . . . . . . . .
1.18 Propiedad triangular . . . . . . . . .. . . . .
1.19 División segura . . . . . . . . . . . . . . . . .
1.20 Disyunción excluyente . . . . . . . . . . . . .
1.21 Módulo de un vector . . . . . . . . . . . . . .
1.22 Rectángulo de área máxima . . . . . . . . . .
1.23 Puntos del plano . . . . . . . . . . . . . . . . .
1.23.1 Cuadrante de un punto . . . . . . . . .
1.23.2 Intercambio de coordenadas . . . . . .

21
22
23
23
23
24
24
24
2526
26
26
27
27
27
27
28
29
29
29
30
30
31
31
31
31

5

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

6

Índice general

1.24

1.25
1.26
1.27
1.28
1.29
1.30
1.31

1.23.3 Punto simétrico . . . . . . . . . . . . . . . . .
1.23.4 Distancia entre dos puntos . . . . . . . . . . .
1.23.5 Punto medio entre otros dos . . . . . . . . . .
Números complejos . . . . . . . . . . . . . . . . . . .
1.24.1 Suma de dos números complejos . . ....
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS