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 uma lista de alunos para a escola.

No final, deves ser capaz de:

  • Adicionar o nome de um aluno à lista de alunos de um ano:
    • "Adiciona o Jim ao ano 2."
    • "OK."
  • Obter uma lista de todos os alunos inscritos num ano:
    • "Que alunos estão no ano 2?"
    • "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 dentro de um 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 ano 1, o Alex, o Peter e a Zoe no ano 2, e o Jim no ano 5. 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, que esperavas?), e cada aluno não pode ser adicionado mais do que uma vez a um ano ou à lista de alunos. Se um teste tentar adicionar o mesmo aluno mais do que uma vez, a tua implementação deve indicar que isso está 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.