Gli incantesimi di Elyse


Storia

Da aspirante maga, Elyse ha bisogno di esercitarsi sulle basi. Ha uno stack di carte che vuole manipolare.

Per rendere le cose un po' più semplici, usa solo le carte dall'1 al 10.

Limitiamo i valori delle carte da 1 a 10, così da avere a che fare solo con numeri, in modo che gli esercizi che usano questa storia debbano basarsi solo sui numeri.

Attività

Questi sono esempi di attività che si adattano alla storia di Elyse alle prime armi:

  • Recuperare una carta da uno stack
  • Scambiare una carta nello stack
  • Inserire una carta in cima allo stack
  • Rimuovere una carta dallo stack
  • Rimuovere la carta in cima dallo stack
  • Inserire una carta in fondo allo stack
  • Rimuovere una carta dal fondo dello stack
  • Controllare la dimensione dello stack

Questa storia può proseguire insegnando anche l'analisi degli array:

  • Trovare la posizione di una carta
  • Determinare se una carta è presente
  • Determinare se ogni carta è pari
  • Verificare se lo stack contiene una carta con valore dispari
  • Ottenere la prima carta dispari dallo stack
  • Determinare la posizione della prima carta pari

Questa storia può proseguire insegnando anche le trasformazioni degli array:

  • Raddoppiare ogni singola carta
  • Creare più copie di ogni 3 presente nel mazzo
  • Trovare due carte esattamente dal centro del mazzo
  • Le due carte esterne riappariranno al centro del mazzo
  • Ogni carta che non è 2 scompare
  • Convertire un mazzo mescolato in un mazzo perfettamente ordinato
  • Trasformare ogni carta nel numero totale di carte

Questa storia può proseguire insegnando anche la destrutturazione degli array:

  • Ottenere la prima carta (senza metodi convenzionali, ad esempio l'accesso tramite indice o i metodi)
  • Ottenere la seconda carta (senza metodi convenzionali, ad esempio l'accesso tramite indice o i metodi)
  • Scambiare le prime due carte (senza metodi convenzionali, ad esempio l'accesso tramite indice o i metodi)
  • Scartare la carta in cima (senza metodi convenzionali, ad esempio l'accesso tramite indice o i metodi)
  • Inserire le carte di figura (senza metodi convenzionali, ad esempio l'accesso tramite indice o i metodi)

Terminologia

Queste sono raccomandazioni, non regole, per la terminologia ricorrente nelle istruzioni (compresi i commenti negli stub)

  • La protagonista è Elyse e i suoi pronomi sono she/her. Se devi indicare il personaggio, usa il nome oppure riferisciti a lei con i suoi pronomi.
  • Al posto di array (o del tipo di dato equivalente), usa la parola stack o card stack
  • Al posto di element, usa la parola card
  • Al posto di length, usa size of the stack
  • La top card è il first element
  • La bottom card è il last element

Implementazioni

Versione alternativa

Una versione alternativa della storia usa tu (lo studente) come protagonista e si concentra solo sul riordinare il mazzo.

Storia

Sei un mago e maneggi un mazzo di carte. Per eseguire correttamente il tuo trucco di magia, devi essere in grado di spostare una carta da una posizione a un'altra. In altre parole, devi riuscire a riordinare il mazzo. Naturalmente, vuoi poter spostare le carte in entrambe le direzioni e poter dire «dalla cima del mazzo» o «dal fondo del mazzo».

Attività

Questi sono esempi di attività che si adattano alla storia di te che vuoi riordinare le carte:

  • Implementare una funzione arrange che sposta una carta in uno stack da una posizione data a un'altra, restituendo un nuovo stack
  • Implementare una funzione rearrange che fa lo stesso, modificando lo stack originale

Implementazioni

Riferimenti