Percursos
/
Nim
Nim
/
Exercícios
/
Escola primária
Escola primária

Escola primária

Fácil

Instruções

Dados os nomes dos alunos e o ano que frequentam, cria um registo para a escola.

No final, deves ser capaz de:

  • Adicionar o nome de um aluno ao registo de um ano
    • "Adiciona o Jim ao 2.º ano."
    • "OK."
  • Obter uma lista de todos os alunos inscritos num ano
    • "Que alunos estão no 2.º ano?"
    • "Por agora, só temos o Jim."
  • Obter uma lista ordenada de todos os alunos de todos os anos. Os anos devem ser ordenados como 1, 2, 3, etc., e os alunos de um mesmo ano devem ser ordenados alfabeticamente pelo nome.
    • "Quem está inscrito na escola neste momento?"
    • "Deixa-me pensar. Temos a Anna, a Barb e o Charlie no 1.º ano, o Alex, o Peter e a Zoe no 2.º ano e o Jim no 5.º ano. Então, a resposta é: Anna, Barb, Charlie, Alex, Peter, Zoe e Jim"

Repara que todos os nossos alunos têm apenas um nome (é uma cidade pequena, o que é que querias?) e cada aluno não pode ser adicionado mais do que uma vez a um ano ou ao registo. Na verdade, quando um teste tenta adicionar o mesmo aluno mais do que uma vez, a tua implementação deve indicar que isso é incorreto.

Dicas

Para passares no teste, vais precisar de criar alguns tipos com que o teu código vai trabalhar. Precisas de um objeto para School que guarde uma sequência do tipo Student, que será um tuplo de string e int para guardar o nome e a nota dos alunos.

Aqui está algum código para os tipos que te pode ajudar a começar

type
  Student* = tuple[name: string, grade: int]
  School* = object
    students*: seq[Student]

Fonte

Uma sessão de programação em par com Phil Battos na gSchool
Editar via GitHub A ligação abre numa nova janela ou separador
Nim Exercism

Estás pronto para começar Escola primária?

Inscreve-te no Exercism para aprenderes e dominares Nim com 70 exercícios, e mentoria humana real, tudo grátis.