Tracks
/
Wren
Wren
/
Ejercicios
/
Escuela primaria
Escuela primaria

Escuela primaria

Intermedia

Instrucciones

Dados los nombres de los estudiantes junto con el grado en el que están, crea una lista de estudiantes para la escuela.

Al final, deberías poder:

  • Agregar el nombre de un estudiante a la lista de un grado:
    • «Agrega a Jim al grado 2.»
    • «Listo.»
  • Obtener una lista de todos los estudiantes inscritos en un grado:
    • «¿Qué estudiantes están en el grado 2?»
    • «Por ahora solo tenemos a Jim.»
  • Obtener una lista ordenada de todos los estudiantes de todos los grados. Los grados deben ordenarse como 1, 2, 3, etc., y los estudiantes dentro de un grado deben ordenarse alfabéticamente por nombre.
    • «¿Quiénes están inscritos en la escuela ahora mismo?»
    • «Déjame pensar. Tenemos a Anna, Barb y Charlie en el grado 1, a Alex, Peter y Zoe en el grado 2, y a Jim en el grado 5. Entonces 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é esperabas?), y ningún estudiante puede agregarse más de una vez a un grado ni a la lista. Si un test intenta agregar al mismo estudiante más de una vez, tu implementación debe indicar que eso es incorrecto.

Cómo ordenar strings en Wren

Wren es todavía un lenguaje muy joven: hay funcionalidades, quizás comunes en otros lenguajes, que aún no están implementadas. Una de ellas es la capacidad de ordenar strings.

El método sort de List de Wren usa la comparación < de forma explícita. String no implementa <(_).

Uno de los desafíos de este ejercicio es implementar una forma de ordenar una lista de strings.

Referencias:


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 una pestaña nuevas
Wren Exercism

¿Todo listo para empezar Escuela primaria?

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