L'encarregat de la classe

En moltes ocasions designem alumnes encarregats rotatoris per: regar les plantes de l'aula, cuidar que la recollida selectiva es realitzi correctament, tancar els llums en sortir de l'aula …
Per ser equitatius i portar un registre de quins alumnes ja han estat encarregats i no ho han de tornar a ser …

Convertim micro:bit en un dispositiu seleccionador d'encarregat/da de la setmana

Crearem una llista amb els noms de tots els alumnes.
L'assignació d'encarregat serà aleatòria, s'escollirà un dels alumnes de la llista.
Per evitar que un alumne surti encarregat més cops que altres, un cop assignat es traurà de la llista i es ficarà a una altra llista: la d'encarregats.
Un cop tots els alumnes hagin estat seleccionats, el contingut de la llista encarregats passarà a la de disponibles.

Comprova el funcionament clicant el botó A del simulador:

Recupera aquest projecte a MakeCode

Procés de creació del programa


1. Les variables


Abans de crear la llista cal associar el nom de cada alumne a una variable. En aquest cas el contingut de la variable és en format text, i no es pot definir directament (cal fer-ho mitjançant un bloc de text).

Clica per veure com fer-ho

2. Les llistes



A més de les variables cal crear les dues llistes de text: disponibles, amb els noms dels alumnes (les variables), i ocupats, que a l'inici estarà buida.

Convé canviar el nom genèric de les llistes per noms significatius.

Clica per veure com fer-ho

3. Assignació d'encarregat/da

En clicar un botó es mostrarà en pantalla un dels noms desats com a variables en la llista. L'elecció serà aleatòria.
Crearem una nova variable: encarregat per desar el nom seleccionat. Aquesta variable no cal inicialitzar-la.



4. Canvi de llista

Per assegurar que un alumne que ja ha estat encarregat no torni a ser seleccionat, caldrà treure'l de la llista disponibles i moure'l a la llista ocupats.
Per fer això primer cal saber quina posició (índex) ocupa l'element encarregat en la llista disponibles, i deixar aquesta posició en una nova variable item:



5. Comprovacions

És convenient anar comprovant el correcte funcionament del programa a mida que es va construïnt.
Podem utilitzar els botons lliures per anar comprovant que efectivament una llista es va omplint i l'altra es va buidant:



6. Funcions

L'assignació d'encarregat s'ha de fer només si la llista disponibles conté noms (la seva longitud és > 0). Quan estigui buida s'haurà de tornar a omplir amb els noms de tots els alumnes, i la llista ocupats s'haurà de buidar.

Podem reutilitzar les instruccions d'inicialització de les dues llistes en una funció Crea llistes. També es proposa crear una funció Assigna encarregat un cop comprovat el seu correcte funcionament.

Així, el codi, deixant de banda la definició de les dues funcions: