Importante

Para ver los documentos disponibles en la página es necesario que tengas instalado en tu ordenador un visualizador de documentos PDF como Adobe Acrobat ® Reader.

Temario de la asignatura

Este es el temario completo de la asignatura:

  1. Introducción y semántica operacional.
    • Programación funcional.
    • El lenguaje Haskell.
    • La notación currificada.
    • Sesiones y declaraciones.
    • Reducción de expresiones.
  2. Tipos predefinidos.
    • Tipos en Haskell.
    • Tipos simples predefinidos.
    • Constructores de tipo predefinidos.
  3. Patrones y definiciones de funciones.
    • Comparación de patrones.
    • Expresiones condicionales.
    • Funciones por casos.
    • Expresiones case.
    • La función error.
    • Definiciones locales.
    • Operadores.
    • Sangrado.
  4. Funciones de orden superior.
    • Funciones de orden superior.
    • Expresiones lambdq.
    • Aplicación parcial. Secciones.
    • Ejemplo. Una función de orden superior para enteros.
  5. Polimorfismo.
    • Funciones polimórficas.
    • La función identidad.
    • Polimorfismo en tuplas.
    • Polimorfismo en Listas.
    • Composición de funciones.
    • El operador ($).
  6. Definiciones de tipos.
    • Sinónimos de tipo.
    • Definiciones de tipos de datos.
    • Tipos enumerados.
    • Uniones.
    • Productos.
    • Registros variantes.
    • Tipos recursivos.
    • Tipos polimórficos.
  7. El sistema de clases.
    • Funciones sobrecargadas.
    • Algunas clases e instancias predefinidas.
    • Derivación de instancias.
    • Tipos sobrecargados. Contextos.
  8. Listas.
    • Secuencias aritméticas.
    • Algunas funciones predefinidas.
    • Listas por comprensión.
    • Funciones de plegado.
    • Listas infinitas.
  9. Árboles.
    • Árboles generales.
    • Árboles binarios.
    • Árboles de búsqueda.
  10. Introducción a Pascal.
    • Valores y tipos.
    • Representación de constantes.
    • Tipos predefinidos.
    • Expresiones aritméticas.
    • Constantes y variables.
    • Sentencia de asignación.
    • Operaciones de entrada y salida.
    • Estructura de un programa.
  11. Sentencias de selección.
    • Composición secuencial de instrucciones.
    • Selección entre acciones alternativas.
    • Expresiones lógicas.
    • Sentencias de selección en Pascal.
  12. Sentencias de iteración.
    • El bucle for.
    • El bucle while.
    • El bucle repeat.
  13. Subprogramas.
    • Concepto de subprograma.
    • Definición y llamadas a subprogramas.
    • Parámetros formales y reales.
    • Parámetros por valor y por referencia.
    • Subrutinas y funciones.
  14. Tipos simples definidos por el programador.
    • Tipos enumerados.
    • Tipos subrango.
    • Tipos función y procedimiento.
  15. Tipos estructurados.
    • Arrays.
    • Registros.
    • Conjuntos.
    • Búsqueda y ordenación.
  16. Ficheros.
    • Tipos de ficheros.
    • Gestión de ficheros en Pascal.

Transparencias de Haskell

Desde aquí puedes descargar las transparencias de clase en formato PDF:

Ejercicios

Desde aquí puedes descargar los enunciados de los ejercicios de clase en formato PDF:

Software

Desde aquí puedes descargar los programas que usamos en el laboratorio. Una vez descargados, instálalos para poder usarlos:

Exámenes

Desde aquí puedes descargar los enunciados de los exámenes de años anteriores:

Enlaces