Track
/
Pharo
Pharo
/
Esercizi
/
Scuola elementare
Scuola elementare

Scuola elementare

Medio

Istruzioni

Dati i nomi degli studenti insieme alla classe che frequentano, crea un registro per la scuola.

Alla fine, dovresti riuscire a:

  • Aggiungere il nome di uno studente al registro di una classe
    • «Aggiungi Jim alla classe 2.»
    • «OK.»
  • Ottenere un elenco di tutti gli studenti iscritti a una classe
    • «Quali studenti ci sono nella classe 2?»
    • «Per ora c'è solo Jim.»
  • Ottenere un elenco ordinato di tutti gli studenti di tutte le classi. Le classi devono essere ordinate come 1, 2, 3, ecc., e all'interno di una classe gli studenti devono essere ordinati in ordine alfabetico per nome.
    • «Chi è iscritto a scuola in questo momento?»
    • «Fammi pensare. Abbiamo Anna, Barb e Charlie nella classe 1, Alex, Peter e Zoe nella classe 2 e Jim nella classe 5. Quindi la risposta è: Anna, Barb, Charlie, Alex, Peter, Zoe e Jim»

Nota che tutti i nostri studenti hanno un solo nome (è un paese piccolo, cosa vuoi?) e ogni studente non può essere aggiunto più di una volta a una classe o al registro. Anzi, quando un test prova ad aggiungere lo stesso studente più di una volta, l'implementazione dovrebbe indicare che ciò è scorretto.

Nota

Non è strettamente necessario modellare gli studenti come un oggetto separato: puoi usare una comoda struttura dati interna, dato che i requisiti sono piuttosto semplici (e purché non trapeli nei risultati).

Note

Questo esercizio è stato leggermente modificato rispetto alla problem-specification, perché ha più senso separare l'aggiunta degli studenti e la loro interrogazione in metodi distinti (invece di avere un unico metodo che fa entrambe le cose, il che risulta meno in stile Pharo/Smalltalk).


Fonte

Una sessione di programmazione in coppia con Phil Battos alla gSchool
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Pharo Exercism

Vuoi iniziare Scuola elementare?

Iscriviti a Exercism per imparare e padroneggiare Pharo con 50 esercizi e il mentoring di persone reali, tutto gratis.