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

Escola Primária

Médio

Instruções

Dados os nomes dos alunos e a série em que cada um está, crie uma lista de chamada para a escola.

No final, você deve ser capaz de:

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

Repare que todos os nossos alunos têm apenas um nome (é uma cidade pequena, o que você esperava?) e que cada aluno não pode ser adicionado mais de uma vez à mesma série ou à lista de chamada. Se um teste tentar adicionar o mesmo aluno mais de uma vez, sua implementação deve indicar que isso está incorreto.

Palavras

Defina uma tupla school para guardar a lista de alunos (como você guarda os alunos dentro dela é decisão sua) e, depois, implemente as palavras abaixo.

  • <school> ( -- school ): constrói uma escola vazia.
  • add-student ( school name grade -- ? ): adiciona name a grade. Retorne t em caso de sucesso, ou f se name já tiver sido adicionado (a esta série ou a qualquer outra); nesse caso, a lista de alunos permanece inalterada.
  • roster ( school -- names ): todos os alunos, ordenados por série e depois em ordem alfabética pelo nome.
  • grade ( school n -- names ): os alunos da série n, em ordem alfabética pelo nome.

Fonte

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

Tudo pronto para começar Escola Primária?

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