I1M2014: Combinatoria 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 relación 12 cuyo objetivo es estudiar la generación y el número de las principales operaciones de la combinatoria. En concreto, se estudia

  • Permutaciones.
  • Combinaciones sin repetición..
  • Combinaciones con repetición
  • Variaciones sin repetición.
  • Variaciones con repetición.

Los ejercicios, y sus soluciones, se muestran a continuación.
Read More “I1M2014: Combinatoria en Haskell”

I1M2014: Programación de dibujos, fractales y animaciones en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha explicado cómo programar dibujos, fractales y animaciones en Haskell.

En la primera parte, se ha explicado cómo se puede programar dibujos, fractales, animaciones y simulaciones usando CodeWorld siguiendo su tutorial.

En la segunda parte, se ha explicado cómo se puede hacer con la librería Gloss. Esta parte se ha divido a su vez en otras tres:

  • En la primera se explicado la programación de dibujos. En primer lugar, se ha explicado el tipo algebraico de datos de los dibujos: los componentes básicos (líneas, polígonos y textos), las listas de dibujos, las transformaciones geométricas (translaciones, giros y escalado) y el coloreado. A continuación, se han presentado las figuras básicas, la programación de dibujo con lista de comprensión y, finalmente, ejemplos de diseños descendentes de dibujos.

  • En la segunda se explicado la programación de fractales. En primer lugar, se ha expuesto el concepto de fractal y cómo aparecen los fractales en la naturaleza. A continuación, se han presentado la programación de los siguietes fractales: el árbol, la curva de Koch, el copo de nieve de Koch, el triángulo de Sierpinski y la curva del dragón.

  • En la tercera se ha explicado la programación de animaciones. En primer lugar, se ha expuesto la animación de dibujos simples con rotaciones, translaciones y variaciones del radio en función del tiempo. A continuación, se ha estudiado la animación de fractales.

Los apuntes y código utilzado son los siguientes

I1M2014: Definiciones de tipos y clases en Haskell

En clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado la definición de nuevos tipos de datos y de funciones sobre dichos tipos. Concretamente, se ha visto

  • cómo definir tipos usando type,
  • cómo definir funciones con dominio o rango en tipos definidos usando type,
  • cómo definir tipos usando data,
  • cómo definir funciones con dominio o rango en tipos definidos usando data y
  • cómo definir tipos de datos recursivos usando como ejemplo los naturales, los árboles y las fórmulas proposicionales.

Como caso de estudio, se ha explicado cómo construir un programa para determinar si una fórmula es una tautología.

El código correspondiente es
Read More “I1M2014: Definiciones de tipos y clases en Haskell”