Hoy se ha realizado el 3º examen del curso de Informática (de 1º de Grado en Matemáticas). Los ejercicios, y sus soluciones, se muestran a continuación.
En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado el juego de la vida como caso de estudio de programación interactiva.
Los apuntes correspondientes son
En la implementación anterior, las funciones de interacción con la terminal son dependientes del sistema operativo. A continuación se muestra otra que no lo es basada en el uso de la librería ansi-terminal.
En la tercera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado el manejo de ficheros.
Los apuntes correspondientes son
En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado la representación gráfica de funciones en Haskell con la librería GNUplot.
Los apuntes correspondientes a la clase son
En la primera parte de 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:
longitudCadena :: IO () longitudCadena = do putStr "Escribe una cadena: " xs <- getLine putStr "La cadena tiene " putStr (show (length xs)) putStrLn " caracteres" |
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 6 primeras secciones del tema 6:
En la tercera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado la solución del problema de Hamming consistente en definir la sucesión estrictamente creciente de los números de Hamming, donde los números de Hamming son los números que cumplen las siguientes condiciones:
- El número 1 está en la sucesión.
- Si x está en la sucesión, entonces 2x, 3x y 5x también están.
- Ningún otro número está en la sucesión.
Los apuntes correspondientes a la clase son
Una versión interactiva de los apuntes en IHaskell se encuentra aquí.
En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos el problema de las reinas (consistente en colocar N reinas en un tablero de dimensiones N por N de forma que no se encuentren más de una en la misma línea: horizontal, vertical o diagonal).
Los apuntes correspondientes a la clase son
Una versión interactiva de los apuntes en IHaskell se encuentra aquí.
En la primera parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos desarrollado un programa en Haskell para resolver los problemas aritméticos del concurso Cifras y letras que consisten en dada una sucesión de números naturales y un número objetivo, intentar construir una expresión cuyo valor es el objetivo combinando los números de la sucesión usando suma, resta, multiplicación, división y paréntesis. Además, cada número de la sucesión puede usarse como máximo una vez y todos los números, incluyendo los resultados intermedios tienen que ser enteros positivos (1,2,3,…).
Por ejemplo, dada la sucesión 1, 3, 7, 10, 25, 50 y el objetivo 765, una solución es (1+50)x(25−10). Para el problema anterior existen 780 soluciones. En cambio, con la sucesión anterior y el objetivo 831, no hay solución.
Se empieza formalizando el problema y definiendo una función para reconcer las soluciones. A continuación, se presentan tres soluciones: la primera por fuerza bruta, la segunda mediante generación y evaluación y la tercera con simplificaciones algebraicas. Se termina con una comparación de las tres soluciones.
Los apuntes correspondientes a la clase son
Una versión interactiva de los apuntes en IHaskell se encuentra aquí.
Hoy se ha realizado el 2º examen del curso de Informática (de 1º de Grado en Matemáticas). Los ejercicios, y sus soluciones, se muestran a continuación.
En clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentando las soluciones los 6 primeros ejercicios de evaluación perezosa y listas infinitas de la 11ª relación
Los ejercicios, y sus soluciones, se muestran a continuación.