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

Escola primária

Médio

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.

Nota

Não é estritamente necessário modelar os alunos como um objeto separado; podes usar uma estrutura de dados interna conveniente, já que os requisitos são bastante simples (e desde que isso não transpareça nos resultados).

Note

Este exercício foi ligeiramente modificado em relação à problem-specification, pois faz mais sentido separar a adição de alunos da sua consulta em métodos distintos (em vez de ter um único método a fazer as duas coisas, o que soa menos a Pharo/Smalltalk).


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
Pharo Exercism

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

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