Menu Close

I1M2018: 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:

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:

I1M2018