Skip to content

Instantly share code, notes, and snippets.

--MALDITO PESO PINO!
pesoPino x = ((min x 3) * 300) + ((max 0 (x-3))*200)
esPesoUtil x = 400<x && x<1000
sirvePino = esPesoUtil.pesoPino
@gpratoe
gpratoe / alguno.hs
Created April 13, 2021 22:38
9. Practica Listas - Ejercicio 2: alguno - Haskell mumuki -
--Ejercicio de: https://mumuki.io/introalgo-unc/exercises/1303-programacion-funcional-practica-listas-alguno
alguno :: (a -> Bool)-> [a] -> Bool
alguno cond list = filter cond list /= []
@gpratoe
gpratoe / armarFixture.hs
Created April 15, 2021 04:13
Ejercicio 20: armarFixture - SOLUCIÓN- haskell (mumuki)
-- Ejercicio: https://mumuki.io/introalgo-unc/exercises/1854-programacion-funcional-practica-listas-armarfixture
armarTupla p1 p2 = (p1, p2)
tuplasDistintas (a,b) = a /= b
armarFixture :: [String] -> [String] -> [(String,String)]
armarFixture list1 = ((filter tuplasDistintas).(zipWith armarTupla list1))
@gpratoe
gpratoe / soluciones.hs
Created April 21, 2021 15:41
Soluciones ejercicios Haskell mumuki UNC (1.Valores y Funciones) - https://mumuki.io/introalgo-unc/lessons/185-programacion-funcional-valores-y-funciones
--Ejercicio 2: Los números
cantidadDiasEnero = 31
--Ejercicio 3: Valores y variables
cantidadRuedasBicicleta = 2
cantidadRuedasMoto = cantidadRuedasBicicleta
--Ejercicio 4: Más valores
@gpratoe
gpratoe / soluciones.hs
Created April 21, 2021 15:48
Soluciones ejercicios Haskell mumuki UNC (2.Práctica Valores y Funciones) - https://mumuki.io/introalgo-unc/lessons/224-programacion-funcional-practica-valores-y-funciones
--Ejercicio 1: siguiente
siguiente x = x+1
--Ejercicio 2: mitad
mitad x = x/2
--Ejercicio 3: inversa
inversa x = (1/x)
--Ejercicio 4: esNumeroPositivo
@gpratoe
gpratoe / soluciones.hs
Created April 21, 2021 22:52
Soluciones ejercicios Haskell mumuki UNC (3. Introducción a los Tipos de Datos) - https://mumuki.io/introalgo-unc/lessons/187-programacion-funcional-introduccion-a-los-tipos-de-datos
--Ejercicio 4: Un poco más de inferencia
tipoDeXEnEsAdulta = "numero"
tipoDeRetornoEnEsAdulta = "booleano"
tipoDeXEnEsVacio = "string"
tipoDeRetornoEnEsVacio = "booleano"
--Ejercicio 6: Inferencia y composición, revisada
largoEsPar :: String -> Bool
largoEsPar = even.length
@gpratoe
gpratoe / soluciones.hs
Created April 21, 2021 22:59
Soluciones ejercicios Haskell mumuki UNC (4. Práctica de Inferencia de Tipos) - https://mumuki.io/introalgo-unc/lessons/188-programacion-funcional-practica-de-inferencia-de-tipos
--Ejercicio 1: mitad
mitad :: Float -> Float
mitad numero = numero / 2
--Ejercicio 2: esParO
esParO :: Int -> Bool -> Bool
esParO numero condicion = even numero || condicion
--Ejercicio 3: sumarDos
sumarDos :: Num a => a-> a
@gpratoe
gpratoe / soluciones.hs
Created April 24, 2021 05:52
Soluciones ejercicios Haskell mumuki UNC (5. Aplicación Parcial y Orden Superior) - https://mumuki.io/introalgo-unc/lessons/189-programacion-funcional-aplicacion-parcial-y-orden-superior
--Ejercicio 4: Aplicación Parcial, Parte 2
dobleDelSiguiente = (*2).(+1)
--Ejercicio 5: Un saludo superior, Parte 1
saludar nombre = "Hola " ++ nombre
--Ejercicio 6: Un saludo superior, parte 2
saludar pref nombre = "Hola " ++ pref ++ " " ++ nombre
--Ejercicio 7: Un saludo superior, Parte 3
@gpratoe
gpratoe / soluciones.hs
Created April 24, 2021 06:12
Soluciones ejercicios Haskell mumuki UNC (6. Práctica Aplicación Parcial y Orden Superior) - https://mumuki.io/introalgo-unc/lessons/190-programacion-funcional-practica-aplicacion-parcial-y-orden-superior
--Ejercicio 1: esMultiploDe
esMultiploDe y =(==0).(rem) y
--Ejercicio 2: esBisiesto
esBisiesto :: Int -> Bool
esBisiesto x = (((esMultiploDe x 400)||).(esMultiploDe x 4 &&).(not.esMultiploDe x))100
--Ejercicio 3: dobleDelLargo
dobleDelLargo = (*2).length
@gpratoe
gpratoe / soluciones.hs
Created April 24, 2021 06:17
Soluciones ejercicios Haskell mumuki UNC (7. Alternativas: Guardas y Patrones) - https://mumuki.io/introalgo-unc/lessons/191-programacion-funcional-alternativas-guardas-y-patrones
--Ejercicio 1: Guardas: Básico
minimoEntre x y | x <= y = x
| y <= x = y
--Ejercicio 2: Otherwise
cantidadDePochoclosParaMinutosDeCine minutos | minutos < 40 = 2
| minutos > 200 = 10
| otherwise = ceiling (minutos / 20)
--Ejercicio 3: Orden de las Condiciones