I1M2017: Definiciones de la lista infinita de factoriales en Haskell

En clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentando el ejercicio 9 de la 10ª relación en el se compara 5 definiciones de la lista infinita de los factoriales desde el punto de vista de su simplicidad y eficiencia.

Las definiciones y comparaciones estudiadas son las que se muestran a continuación
Read More “I1M2017: Definiciones de la lista infinita de factoriales en Haskell”

I1M2017: Programas interactivos en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado el tema 13 sobre programas interactivos.

Se ha empezado observando un procedimiento que pide que se escriba una cadena y devuelve su longitud:

A continuación se han estudiado los elementos implicados en el procedimiento anterior: el tipo de las acciones de entrada/salida (IO), las acciones básicas (getChar, putChar y return), la secuenciación de acciones con do y la definición de algunos procedimientos del preludio (getLine, putStr, putStrLn, y sequence_).

Como aplicación se han estudiado un programa para adivinar un número en sus dos versiones: cuando la máquina tiene que adivinar el número pensado por el humano y cuando es el humano el que tiene que adivinar el número generado aleatoriamente por la máquina.

Los apuntes correspondientes a la clase son las primeras secciones del tema 6:

RA2017: Razonamiento sobre árboles y bosques en Isabelle/HOL

En la primera parte de la clase de hoy del curso de Razonamiento automático se ha estudiado cómo definir y razonar en Isabelle/HOL tipos de datos recursivos como árboles binarios, árboles generales y bosques. En su definición se usa recursión cruzada y en la demostración de sus propiedades se usa inducción doble.

La teoría utilizada es la siguiente
Read More “RA2017: Razonamiento sobre árboles y bosques en Isabelle/HOL”