Actualización de «Ordenación de estructuras»
He actualizado las soluciones del ejercicio Ordenación de estructuras cuyo enunciado es
Las notas de los dos primeros exámenes se pueden representar mediante el siguiente tipo de dato
data Notas = Notas String Int Int deriving (Read, Show, Eq)
Por ejemplo, (Notas "Juan" 6 5) representar las notas de un alumno cuyo nombre es Juan, la nota del primer examen es 6 y la del segundo es 5.
Definir la función
ordenadas :: [Notas] -> [Notas]
tal que (ordenadas ns)
es la lista de las notas ns
ordenadas considerando primero la nota del examen 2, a continuación la del examen 1 y finalmente el nombre. Por ejemplo,
λ> ordenadas [Notas "Juan" 6 5, Notas "Luis" 3 7] [Notas "Juan" 6 5,Notas "Luis" 3 7] λ> ordenadas [Notas "Juan" 6 5, Notas "Luis" 3 4] [Notas "Luis" 3 4,Notas "Juan" 6 5] λ> ordenadas [Notas "Juan" 6 5, Notas "Luis" 7 4] [Notas "Luis" 7 4,Notas "Juan" 6 5] λ> ordenadas [Notas "Juan" 6 4, Notas "Luis" 7 4] [Notas "Juan" 6 4,Notas "Luis" 7 4] λ> ordenadas [Notas "Juan" 6 4, Notas "Luis" 5 4] [Notas "Luis" 5 4,Notas "Juan" 6 4] λ> ordenadas [Notas "Juan" 5 4, Notas "Luis" 5 4] [Notas "Juan" 5 4,Notas "Luis" 5 4] λ> ordenadas [Notas "Juan" 5 4, Notas "Eva" 5 4] [Notas "Eva" 5 4,Notas "Juan" 5 4]