“El próximo después de 1811” con Haskell

El enunciado del problema de hoy de Números y algo más … es el siguiente

1811 fue el último año que no teniendo ceros en su composición, tanto su suma digital como su producto digital están incluidos como cadenas dentro del número

Suma digital (1811) = 1+8+1+1 = 11
Producto dígital (1811) = 1x8x1x1 = 8

¿Cuál es próximo año sin ceros en que esto ocurrirá?

A partir del problema he escrito la siguinte relación de ejercicios para la asignatura de Informática de 1º del Grado en Matemáticas.
Read More ““El próximo después de 1811” con Haskell”

El tipo abstracto de datos de las colas de prioridad en Haskell

En este artículo continúo la serie dedicada a los tipos de datos abstractos (TAD) en Haskell presentando el TAD de las colas de prioridad.

Una cola de prioridad (en inglés, priority queue) es una cola en la que cada elemento tiene asociada una prioridad y la operación de extracción siempre elige el elemento de menor prioridad. Un ejemplo de cola de prioridad es el formado por una lista de ciudades ordenadas por su distancia a un destino final.

El contenido del resto del artículo es el siguiente:

  • la signatura del TAD de las colas de prioridad;
  • las propiedades del TAD de las colas de prioridad;
  • la implementación, en Haskell, de las colas de prioridad mediante listas y
  • la comprobación con QuickCheck de sus propiedades.

Posteriormente, cuando se estudien los montículos, se presentará otra implementación de las colas de prioridad mediante montículos.
Read More “El tipo abstracto de datos de las colas de prioridad en Haskell”

Deducción natural en lógica de primer orden con Isabelle/Isar

En esta teoría se presenta la formalización en Isabelle/Isar de los ejemplos del tema de deducción natural en la lógica de primer orde siguiendo la presentación de Huth y Ryan en su libro Logic in Computer Science y, más concretamente, a la forma como se explica en la asignatura de Lógica informática y que puede verse en las transparencias del tema 7.

La páginas en los teorema indican la página de las anteriores transparencias donde se encuentra la demostración.
Read More “Deducción natural en lógica de primer orden con Isabelle/Isar”

Deducción natural en lógica proposicional con Isabelle/Isar

En esta teoría se presentan los ejemplos del tema de deducción natural proposicional siguiendo la presentación de Huth y Ryan en su libro Logic in Computer Science y, más concretamente, a la forma como se explica en la asignatura de Lógica informática y que puede verse en
las transparencias del tema 2.

La página al lado de cada teorema indica la página de las anteriores transparencias donde se encuentra la demostración.
Read More “Deducción natural en lógica proposicional con Isabelle/Isar”