1 nov 2007

Haskell y yo (segunda parte)

Los siguientes ejercisios los realizé el semestre pasado, durante el curso de Programación funcional y lógica, que se impartió en la facultad de ciencias UNAM, por el Dr, Favio Miranda Perea; debo aclarar que quiza y solo quiza no sea la solución mas elegante, ya que fiel a mi costumbre emepzaba las tareas uno o dos dias antes, por lo que lo mas importante era que salieran.

  1. Escriba una función aentero, que transforme una lista de enteros en su correspondiente valo entero, ejemplos:
  • aentero [5,6,7] = 567
  1. Defina una función ternaria mueve, tal que mueve n xs ys mueve, de ys al inicio de xs, n elementos que no pertenecian a xs , devolviendo ambas listas resultantes. ejemplos:


  • mueve 2 [1, 2] [1, 3, 5, 8, 4] = ([5, 3, 1, 2], [8, 4])
  • mueve 1 [1, 2] [1, 2, 3, 5, 8, 4] = ([3, 1, 2], [5, 8, 4])
Usando listas por comprensión
  1. Defina expande que reemplace el n-ésimo elemento de una lista por n copias de sí mismo, por ejemplo:
  • expande "papa" = "paapppaaaa"
  • expande [1,2,3] = [1,2,2,3,3,3]
  1. perf, que devuelva la lista infinita de números perfectos
  2. catl que devuelva el n-esimo número de Catalán donde:




Usando foldr defina las siguientes funciones

  • sumaAlt, que devuelva la suma alternada de los elementos de una lista es decir:

  • partir que satisfaga
  • partir n xs = (take n xs, drop n xs)
  • No hay comentarios:

    ga