Trilhas
/
Haskell
Haskell
/
Exercícios
/
Escola Primária
Escola Primária

Escola Primária

Fácil

Instruções

Dados os nomes dos estudantes junto com a série em que estão, crie uma lista de chamada para a escola.

No final, você vai conseguir:

  • Adicionar o nome de um estudante à lista de chamada de uma série
    • "Adicione o Jim à série 2."
    • "OK."
  • Obter uma lista de todos os estudantes matriculados em uma série
    • "Quais estudantes estão na série 2?"
    • "Por enquanto, só temos o Jim."
  • Obter uma lista ordenada de todos os estudantes de todas as séries. As séries devem ser ordenadas como 1, 2, 3 etc., e os estudantes de uma mesma série devem ser ordenados alfabeticamente pelo nome.
    • "Quem está matriculado na escola agora?"
    • "Deixe-me pensar. Temos a Anna, a Barb e o Charlie na série 1, o Alex, o Peter e a Zoe na série 2 e o Jim na série 5. Então a resposta é: Anna, Barb, Charlie, Alex, Peter, Zoe e Jim"

Repare que todos os nossos estudantes têm apenas um nome (é uma cidade pequena, o que você quer?) e cada estudante não pode ser adicionado mais de uma vez a uma série ou à lista de chamada. Na verdade, quando um teste tenta adicionar o mesmo estudante mais de uma vez, sua implementação deve indicar que isso está incorreto.

Dicas

Para completar este exercício, você precisa criar o tipo de dado School e implementar as seguintes funções:

  • add
  • empty
  • grade
  • sorted

Você vai encontrar uma declaração de dados fictícia e assinaturas de tipo já prontas, mas cabe a você definir as funções e criar um tipo de dado, um newtype ou um sinônimo de tipo que faça sentido.


Fonte

Uma sessão de pareamento com Phil Battos na gSchool
Editar via GitHub O link abre em uma nova janela ou aba
Haskell Exercism

Tudo pronto para começar Escola Primária?

Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.