Parcours
/
Haskell
Haskell
/
Exercices
/
École primaire
École primaire

École primaire

Facile

Instructions

Étant donné les noms des élèves et le niveau dans lequel ils se trouvent, crée un registre pour l'école.

Au final, tu dois pouvoir :

  • Ajouter le nom d'un élève au registre d'un niveau
    • « Ajoute Jim au niveau 2. »
    • « OK. »
  • Obtenir la liste de tous les élèves inscrits dans un niveau
    • « Quels élèves sont au niveau 2 ? »
    • « On n'a que Jim pour l'instant. »
  • Obtenir une liste triée de tous les élèves, tous niveaux confondus. Les niveaux doivent être triés dans l'ordre 1, 2, 3, etc., et les élèves d'un même niveau doivent être triés par ordre alphabétique de leur nom.
    • « Qui est inscrit à l'école en ce moment ? »
    • « Laisse-moi réfléchir. On a Anna, Barb et Charlie au niveau 1, Alex, Peter et Zoe au niveau 2, et Jim au niveau 5. Donc la réponse est : Anna, Barb, Charlie, Alex, Peter, Zoe et Jim »

Note que tous nos élèves n'ont qu'un seul nom (c'est une petite ville, qu'est-ce que tu veux ?) et qu'un même élève ne peut pas être ajouté plus d'une fois à un niveau ni au registre. En fait, quand un test essaie d'ajouter le même élève plus d'une fois, ton implémentation doit signaler que ce n'est pas correct.

Indices

Pour terminer cet exercice, tu dois créer le type de données School et implémenter les fonctions suivantes :

  • add
  • empty
  • grade
  • sorted

Tu trouveras une déclaration de données factice et des signatures de type déjà en place, mais c'est à toi de définir les fonctions et de créer un type de données, un newtype ou un synonyme de type qui soit pertinent.


Source

Une session de programmation en binôme avec Phil Battos à gSchool.
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Haskell Exercism

Prêt à commencer École primaire ?

Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.