Cuadrados con los dígitos duplicados en Haskell

La semana pasada se planteó en “Números y algo más …” el problema de los cuadrados con los dígitos duplicados cuyo enunciado es el siguiente:

Si elevamos 72576, que tiene un 2, un 5, un 6 y dos 7, al cuadrado obtenemos 5267275776 el cual tiene exactamente dos 2, dos 5, dos 6 y cuatro 7. Es decir que si en el número original el dígito d aparece v veces, en el cuadrado, d aparece 2v veces. ¿Cual es el siguiente número con esta propiedad? ¿Habrá algún primo que lo haga?

En la siguiente relación de ejercicios (elaborada para la asignatura de Informática de 1º del Grado en Matemáticas) se resuelve el problema con Haskell.
Read More “Cuadrados con los dígitos duplicados en Haskell”

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.

Read More “I1M2011: El TAD (tipo abstracto de datos) de las tablas en Haskell”

LMF2012: Formas normales en Haskell

En la clase de hoy del curso de Lógica matemática y fundamentos (de 3º de Grado en Matemáticas) se ha comentado las soluciones de los ejercicios sobre la implementación en Haskell de las formas normales.

Las soluciones de los ejercicios se muestran a continuación. En los ejercicios se usa el módulo SintaxisSemantica desarrollado en la clase del día 13 de marzo.
Read More “LMF2012: Formas normales en Haskell”