Tarea (TP 3 de Funcional)ĀTIP: Recuerden imprimir la GuĆa de Lenguajes ! Enunciado Dado el siguiente archivo .hs por cada punto explicar porque tiene errores y arreglarlos. Los errores pueden ser tanto de sintaxis como "teóricos" (esto significa que compila pero IGUAL tiene errores que pueden ser conceptuales).Ā Todos los puntos tienen algo para arreglar. Explicar con sus palabras los errores y proponer una solución (si la misma solución aplica a varios puntos no repetir, aclarar los puntos que soluciona). "Explicar con sus palabras" significa que no copien el error que les tira Haskell (en caso de que no compile) sino que expliquen desde los conceptos del paradigma por quĆ© hay un error ahĆ. Se intentó elegir nombres que hagan entender por si solos la intención de la función, en caso de no entender quĆ© hace una función determinada envĆen sus dudas a la lista del cursoĀ pdep-mmt@googlegroups.com -- tp3.hs --Punto 1todosIguales elementos = length (filter (head elementos==) elementos) == length elementos--Punto 2todosIguales' elementos = all (fst elementos==) elementos--Punto 3todosIguales'' elementos = all (head elementos==otroElemento) elementos--Punto 4todosIguales''' elementos = all (head.elementos.==) elementos--Punto 5 esNotaAprobada nota = nota >= 4 promedio numeros = sum numeros `div` length numeros estaAprobado unAlumno = promedio (snd unAlumno) >= 5todosDesaprobaronAlMenosUnaVez alumnos = any (not.estaAprobado) alumnos--Punto 6todosDesaprobaronAlMenosUnaVez' alumnos = all (any (4>) (snd unAlumno)) alumnos--Punto 7todosDesaprobaronAlMenosUnaVez'' alumnos = all (any (\unaNota -> not (estaAprobado unaNota)).snd) alumnos--Punto 8cantidadDePalindromos palabras = length (filter esPalindromo palabras)esPalindromo unaPalabra | reverse unaPalabra /= unaPalabra = False | otherwise = True--Punto 9esApestosa (nombre,director,puntuaciones) = all (3>) puntuacionesdirectorPelicula (nombre,director,puntuaciones) = directordirectoresApestosos peliculas = [directorPelicula (nombre,director,puntuaciones) | (nombre,director,puntuaciones) <- peliculas, all (3>) puntuaciones]--Punto 10 (BONUS: esto significa que su resolución es opcional)find f lista = head [x | x <- lista, f x ]maximum = find (\x -> all (x>) lista) Resumenes |