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 essere in grado di:

  • 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 vanno ordinate come 1, 2, 3, ecc., e gli studenti all'interno di una classe vanno ordinati in ordine alfabetico per nome.
    • «Chi è iscritto alla 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 (è una piccola città, cosa vuoi?), e ogni studente non può essere aggiunto più di una volta in una classe o nel registro. Se un test tenta di aggiungere lo stesso studente più di una volta, l'implementazione dovrebbe indicare che ciò non è corretto.

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.