Material disponible para la asignatura

Programación Declarativa (Programación Funcional)

(3º Ingeniería Informática. Profesor: Blas C. Ruiz Jiménez)

 

PROGRAMA:

El programa oficial de la asignatura puede leerse aquí

 

APUNTES:

Nuestro libro Razonando con Haskell

 

HUGS:           El intérprete de Hugs puedes descargarlo  desde aquí

 

 

CALENDARIO DE EXAMENES:

 

CURSO 2010/11:

Parcial 1º  (23 Noviembre)     SOLUCIONES          Calificaciones                        

 

            INSTRUCCIONES PARA EL EXAMEN ORDINARIO (14-Febrero-2011)

 

Final Febrero y parcial 3º  (14 Febrero)         SOLUCIONES          Calificaciones

Diciembre (21)                       SOLUCIONES          Calificaciones

Setiembre (5)                          SOLUCIONES          Calificaciones

 

TRANSPARENCIAS:  (adaptadas al libro Razonando con Haskel,  Profesores Blas Ruiz y Paco Gutiérrez)

·          Tema I.    Programación Funcional.
                Funciones. Sesiones y Declaraciones. Reducción de expresiones. Transparencia Referencial

·         Tema II.   Introducción a Haskell.
                El lenguaje Haskell. Tipos simples predefinidos. Constructores de tipos predefinidos. Comentarios.
                Operadores. Comparación de patrones. Funciones a trozos. Expresiones condicionales.
                Definiciones locales. Expresiones case. La función error. Expresiones lambda. Ámbitos y módulos.

·         Tema III.  Funciones de Orden Superior y Polimorfismo.
                Parcialización. Funciones de orden superior. Polimorfismo.

·         Tema IVDefiniciones de tipo.
                Sinónimos de tipo. Definiciones de tipos de datos. Tipos recursivos. Tipos parametrizados.
                Definiciones newtype. Propiedades de funciones. Sobrecarga.

·         Tema V.   El sistema de clases de Haskell.
                Introducción. Clases e Instancias. Declaraciones de clases e instancias. Métodos por defecto. Subclases. Instancias paramétricas. Algunas clases predefinidas. Derivación de instancias. Tipos sobrecargados. Contextos.

·         Tema VIProgramación con listas.
                El tipo lista. Secuencias aritméticas. Concatenación de listas. Inducción sobre listas. Selectores. 
                Emparejando listas. Aplicando una función a los elementos de una lista. Filtros. Listas por comprensión.
                Plegado de listas. Ordenación de listas. Funciones combinatorias. Otras funciones predefinidas.

·         Tema VIIIEvaluación Perezosa. Redes de Procesos. 

                      Evaluación Perezosa. Listas parciales y listas infinitas. Redes de procesos. Ejemplos: Triángulo de Pascal, Números de Hamming, Números Primos, Factoriales y Sucesiones Generales.

·         Tema IXProgramación con árboles.
                Árboles generales. Representación en Haskell. Árboles binarios. Recorridos en árboles binarios.
                La función fmap. Plegado de árboles. Árboles binarios de búsqueda. Inducción para árboles binarios.

EXAMENES DE CURSOS ANTERIORES:

 

CURSO 2009/10:

Parcial 1º  (18 Noviembre)     SOLUCIONES          Calificaciones                        

Final Febrero y parcial 3º  (15 Febrero)         SOLUCIONES          Calificaciones

Diciembre (22)                       SOLUCIONES          Calificaciones

Setiembre (6)                          SOLUCIONES          Calificaciones

 

 

CURSO 2008/09:

Parcial 1º  (4 Noviembre)       SOLUCIONES          Calificaciones                        

Parcial 2º  (10 Diciembre)      SOLUCIONES          Calificaciones             Código

Parcial 3º  (16 Febrero)          SOLUCIONES          Calificaciones

Diciembre (16)                       SOLUCIONES          Calificaciones

Setiembre (1)                          SOLUCIONES          Calificaciones

 

CURSO 2007/08:

Parcial 1º  (31 Octubre)          SOLUCIONES          Calificaciones                        

Parcial 2º  (4 Diciembre)        SOLUCIONES          Calificaciones             Código

Parcial 3º  (18 Febrero)          SOLUCIONES          Calificaciones

Extraor. de Setiembre            SOLUCIONES          Calificaciones

 

CURSO 2006/07:

Parcial 1º  (24 Octubre)          SOLUCIONES          Calificaciones             Código           

Parcial 2º  (22 Noviembre)     SOLUCIONES           Calificaciones                       Código

Parcial 3º  (13 Diciembre)      SOLUCIONES          Calificaciones

Parcial 4º  (19 Febrero)          SOLUCIONES           Calificaciones                       Código

Extraor. de Setiembre            SOLUCIONES           Calificaciones

 

CURSO 2005/06:

Primer Parcial (9-11-05)             SOLUCIONES  (código)   Calificaciones

Segundo Parcial (21-12-05)        SOLUCIONES  (código)   Calificaciones

Ordinario de Febrero (26-1-06)  SOLUCIONES  (código)   Calificaciones

Extraordinario de Setiembre     SOLUCIONES  (código)   Calificaciones

 

CURSO 2004/05:

Ordinario de Febrero             SOLUCIONES al Ordinario de Febrero         (código)

Extraordinario de Setiembre     SOLUCIONES al Extr.de Setiembre             (código)

 

CURSO 2003/04:

Ordinario de Febrero             SOLUCIONES al Ordinario de Febrero         (código)

Extraordinario de Setiembre     SOLUCIONES al Extr.de Setiembre             (código)

 

CURSO 2002/03:

Ordinario de Febrero             SOLUCIONES al Ordinario de Febrero

Extraordinario de Setiembre    SOLUCIONES al Extr. de Set. (código)

CURSO 2001/02:

Ordinario de Febrero             SOLUCIONES (código) al Ordinario de Febrero   

Extraordinario de Sept.          SOLUCIONES al Extraordinario de Septiembre  

CURSO 2000/01:

Ordinario de Febrero             SOLUCIONES al Ordinario de Febrero  

Código del Laboratorio V, ordinario de Febrero                 

Extraordinario de Junio        SOLUCIONES al Extraordinario de Junio  

Extraordinario de Septiembre

SOLUCIONES (código) del Laboratorio V, extraordinario de Setiembre            

CURSOS  1999/2000, 1998/1999, ... 1995/96 :

Los enunciados pueden obtenerse en el libro Razonando con Haskel

El código de los ejercicios de exámenes anteriores puede descargarse desde aquí