Rutas
/
Haskell
Haskell
/
Ejercicios
/
Escuela primaria
Escuela primaria

Escuela primaria

Fácil

Instrucciones

Dados los nombres de los estudiantes junto con el curso en el que están, crea un listado para el colegio.

Al final, deberías poder:

  • Añadir el nombre de un estudiante al listado de un curso
    • «Añade a Jim al curso 2.»
    • «OK.»
  • Obtener un array con todos los estudiantes matriculados en un curso
    • «¿Qué estudiantes están en el curso 2?»
    • «De momento, solo tenemos a Jim.»
  • Obtener un array ordenado con todos los estudiantes de todos los cursos. Los cursos deben ordenarse como 1, 2, 3, etc., y los estudiantes dentro de un curso deben ordenarse alfabéticamente por su nombre.
    • «¿Quiénes están matriculados en el colegio ahora mismo?»
    • «Déjame pensar. Tenemos a Anna, Barb y Charlie en el curso 1, a Alex, Peter y Zoe en el curso 2 y a Jim en el curso 5. Así que la respuesta es: Anna, Barb, Charlie, Alex, Peter, Zoe y Jim»

Ten en cuenta que todos nuestros estudiantes tienen un solo nombre (es un pueblo pequeño, ¿qué quieres?) y que cada estudiante no puede añadirse más de una vez a un curso ni al listado. De hecho, cuando un test intenta añadir al mismo estudiante más de una vez, tu implementación debería indicar que esto es incorrecto.

Pistas

Para completar este ejercicio tienes que crear el tipo de datos School e implementar las siguientes funciones:

  • add
  • empty
  • grade
  • sorted

Encontrarás una declaración de datos ficticia y las firmas de tipo ya en su sitio, pero depende de ti definir las funciones y crear un tipo de datos, un newtype o un sinónimo de tipo con sentido.


Fuente

Una sesión de programación en pareja con Phil Battos en gSchool
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Haskell Exercism

¿Listo para empezar Escuela primaria?

Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.