Bitacora
Marzo 29
Introducción a Funcional Funciones - Pattern Matching - Tipos de datos Tarea para hacer: - practicar (guias de ejercicios, mumuki, inventar casos) - leer "guardas" (funciones definidas por partes) - curiosear manejo de Git (ver apunte) - ir pensando los grupos Ejemplos miPrimerFuncion = "hola, ya se programacion funcional!!!!" miSegundaFuncion algo = esImportante algo esImportante 34 = True esImportante 23 = True esImportante 7 = False esImportante palabra = True funcionLoca x 0 = 0 funcionLoca x y = x + y*y -1 funcionMasLoca x y = funcionLoca x (length y) juntoTodo nro = esImportante (funcionMasLoca nro miPrimerFuncion) Ejercicios --1) esPar --esPar nro = even nro --esPar nro = (mod nro 2) == 0 esPar 0 = True esPar 1 = False esPar nro = esPar (nro - 2) -- 2) esVocal 'a' esVocal 'a' = True esVocal 'e' = True esVocal 'i' = True esVocal 'o' = True esVocal 'u' = True esVocal letra = False --esVocal letra = elem letra "aeiouAEIOU" -- 3) fibonacci fibonacci 0 = 1 fibonacci 1 = 1 fibonacci nro = fibonacci (nro-1) + fibonacci (nro-2) --4) paso (1,2) "arriba" --(1,3) -- 5) mover (1,2) "arriba" 4 -- (1,6) mover (x,y) "arriba" cantidad = (x, y + cantidad) mover punto "abajo" cantidad = mover punto "arriba" (-cantidad) mover (x,y) "izquierda" cantidad = (x + cantidad, y ) mover punto "derecha" cantidad = mover punto "izquierda" (-cantidad) paso punto direccion = mover punto direccion 1 --mover punto direccion cantidad = mover (paso punto direccion) direccion (cantidad -1) --6) palindromo (capicua) palindromo lista = lista == reverse lista --7) el que se les ocurra esVacia [] = True esVacia lista = False longitud [] = 0 longitud (cabeza:cola) = longitud cola + 1 |