Untitled

 avatar
unknown
plain_text
2 years ago
766 B
4
Indexable
calificaciones :: [String] -> [Int]
calificaciones listaAlumnos = eliminaRepetidos califs
  where
    califs = mapea obtenerCalificaciones aprobadosYReprobados
    aprobadosYReprobados = interseccionListas aprobados reprobados
    aprobados = unionListas aprobados1 aprobados2
    reprobados = unionListas reprobados1 reprobados2
    aprobados1 = mapea (filtra (\(_, calif) -> calif > 6)) listaAlumnos
    aprobados2 = mapea (filtra (\(_, calif) -> calif == 6)) listaAlumnos
    reprobados1 = mapea (filtra (\(_, calif) -> calif < 6)) listaAlumnos
    reprobados2 = mapea (filtra (\(_, calif) -> calif == 6)) listaAlumnos
    obtenerCalificaciones = mapea (\(_, calif) -> calif)
    eliminaRepetidos = foldr (\x xs -> if x `elem` xs then xs else x:xs) []
Editor is loading...