Menu Close

Etiqueta: I1M2011

I1M2011: Libro de ejercicios resueltos de programación en Haskell (v. 30-May-12)

A lo largo del curso iré actualizando un libro de ejercicios resueltos de programación con Haskell con las relaciones de ejercicios del curso de Informática (de 1º del Grado en Matemáticas)

En la versión actual contiene las soluciones de las 33 primeras relaciones y los 6 primeros exámenes:

  1. Definiciones elementales de funciones (1).
  2. Definiciones elementales de funciones (2).
  3. Definiciones por comprensión (1).
  4. Definiciones por comprensión (2).
  5. Definiciones por comprensión (3): El cifrado César.
  6. Definiciones por recursión.
  7. Definiciones por recursión y por comprensión (1).
  8. Definiciones por recursión y por comprensión (2).
  9. Definiciones sobre cadenas, orden superior y plegado.
  10. Definiciones por plegado.
  11. Codificación y transmisión de mensajes.
  12. Resolución de problemas matemáticos.
  13. Demostración de propiedades por inducción.
  14. El 2011 y los números primos.
  15. Listas infinitas.
  16. Ejercicios de exámenes del curso 2010-11.
  17. Combinatoria.
  18. Tipos de datos algebraicos.
  19. Tipos de datos algebraicos: árboles binarios.
  20. Tipos de datos algebraicos: fórmulas proposicionales.
  21. Tipos de datos algebraicos: Modelización de juego de cartas.
  22. Cálculo numérico.
  23. Ecuación con factoriales.
  24. Aplicaciones de la programación funcional con listas infinitas.
  25. División y factorización de polinomios mediante la regla de Ruffini.
  26. Operaciones con el TAD de polinomios.
  27. Operaciones con vectores y matrices.
  28. Ejercicios complementarios.
  29. Relaciones binarias.
  30. Operaciones con conjuntos.
  31. Implementación del TAD de los grafos mediante listas.
  32. Problemas básicos con el TAD de los grafos.
  33. Enumeraciones de los números racionales.
  34. Exámenes:
    • Examen 1 (26 de Octubre de 2011).
    • Examen 2 (30 de Noviembre de 2011).
    • Examen 3 (25 de Enero de 2012).
    • Examen 4 (29 de Febrero de 2012).
    • Examen 5 (21 de Marzo de 2012).
    • Examen 6 (2 de Mayo de 2012).

I1M2011: Operaciones con el TAD de los polinomios en Haskell (3)

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos continuado estudiando la implementación en Haskell de operaciones con los polinomios utilizando las implementaciones del TAD de los polinomios estudiadas en las clases anteriores.

En los ejercicios se usan las siguientes librerías:

  • PolRepTDA: Implementación de los polinomios mediante tipos de datos algebraicos.
  • PolRepDispersa: Implementación de los polinomios mediante listas dispersas.
  • PolRepDensa: Implementación de los polinomios mediante listas densas.
  • PolOperaciones: Operaciones con el TAD de los polinomios.

Los ejercicios, y sus soluciones, se muestran a continuación.

I1M2011: Operaciones con el TAD de los polinomios en Haskell (2)

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos continuado estudiando la implementación en Haskell de operaciones con los polinomios utilizando las implementaciones del TAD de los polinomios estudiadas en las clases anteriores.

En los ejercicios se usan las siguientes libretrías:

  • PolRepTDA: Implementación de los polinomios mediante tipos de datos algebraicos.
  • PolRepDispersa: Implementación de los polinomios mediante listas dispersas.
  • PolRepDensa: Implementación de los polinomios mediante listas densas.
  • PolOperaciones: Operaciones con el TAD de los polinomios.

Los ejercicios, y sus soluciones, se muestran a continuación.

I1M2011: El TAD (tipo abstracto de datos) de las tablas en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado el TAD (tipo abstracto de datos) de las tablas y 3 implementaciones en Haskell: como funciones, como listas de asociación y como matrices.

Una tabla (array en inglés y tableau en francés) es una colección de elementos (valores) a los que se accede mediante sus índices.

El contenido de la clase ha sido el siguiente:

  • la signatura del TAD de las tablas;
  • las propiedades del TAD de las tablas;
  • las implementaciones, en Haskell, de las tablas mediante funciones, listas de asociación y matrices y
  • la comprobación con QuickCheck de sus propiedades.

I1M2011: División y factorización de polinomios mediante la regla de Ruffini en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se han explicado las soluciones de los ejercicios de la 25ª relación, cuyos objetivo es implementar la regla de Ruffini y sus aplicaciones utilizando las implementaciones del TAD de polinomio estudiadas en el tema 21.

En los ejercicios se usan las siguientes librerías:

  • PolRepTDA: Implementación de los polinomios mediante tipos de datos algebraicos.
  • PolRepDispersa: Implementación de los polinomios mediante listas dispersas.
  • PolRepDensa: Implementación de los polinomios mediante listas densas.
  • PolOperaciones: Operaciones con el TAD de los polinomios.

Los ejercicios, y sus soluciones, se muestran a continuación.

I1M2011: Operaciones con el TAD de los polinomios en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado la implentación en Haskell de las operaciones con los polinomios basadas su TAD estudiado en la clase anterior, utilizando las implementaciones de los polinomios estudiadas en las clases anteriores: mediante tipos algebraicos y listas dispersas o densas.

Las transparencias usadas en la clase son las páginas 43-55 del tema 21: