Edición de «Práctica 1 (Paradigmas)»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 77: Línea 77:


== Ejercicio 8 ==
== Ejercicio 8 ==
  listasPositivas :: [ [Int] ]
  listasPositivas :: [[Int]]
  listasPositivas = [xs | n<-[0..], xs<-listasQueSuman n]
  listasPositivas = [xs | n<-[0..], xs<-listasQueSuman n]


Línea 169: Línea 169:
  permutaciones [] = [[]]
  permutaciones [] = [[]]
  permutaciones xs = [x:xs2 | x<-xs, xs2<-(permutaciones (sacarUna x xs))]
  permutaciones xs = [x:xs2 | x<-xs, xs2<-(permutaciones (sacarUna x xs))]
=== Solución alternativa, sin recursión explícita ===
permutaciones :: [Char] -> [ [ Char ] ]
permutaciones l = foldr (\head acum -> (concatMap (\perm -> [ (take i perm) ++ [head] ++ (drop i perm) | i <- [0..(length perm)] ]) acum)) [[]] l


== Ejercicio 12 ==
== Ejercicio 12 ==
Línea 298: Línea 294:
=== I ===
=== I ===
  foldNat :: (Integer -> Integer -> Integer) -> Integer -> Integer -> Integer
  foldNat :: (Integer -> Integer -> Integer) -> Integer -> Integer -> Integer
  foldNat f x 0 = x
  foldNat f x 1 = x
  foldNat f x n = f x (foldNat f x (n-1))
  foldNat f x n = f x (foldNat f x (n-1))


=== II ===
=== II ===
--No funciona
  potencia :: Integer -> Integer -> Integer
  potencia :: Integer -> Integer -> Integer
  potencia x = foldNat (\y res-> x * res) 1
  potencia base = foldNat 1 (*base)


== Ejercicio 18 ==
== Ejercicio 18 ==
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantillas usadas en esta página: