Programació: Llistes

Definició


Les llistes són contenidors de diferents elements d'informació. Aquests elements estan indexats, que vol dir que tenen associat un nombre d'ordre segons la posició que ocupen a la llista. Per tant, podrem referir-nos a ells per l'ordre que ocupen: el tercer element de la llista dies de la setmana és dimecres. Per tant, ens podem imaginar una llista com un àlbum de cromos, on podem accedir a cada cromo pel seu número; tot i això, a diferència dels àlbums, podem canviar cada cromo de posició, eliminar-lo de la llista, afegir-ne de nous...

Altres llenguatges de programació presenten estructures semblants a llistes: arrays, vectors, matrius... tot i que segons el llenguatge, pot haver-hi forces diferències d'un concepte a l'altre.

Com crear llistes a Scratch

Per crear una llista anem als blocs de dades i cliquem el botó Crea una llista. Com en el cas de les variables, haurem d'especificar el nom de la llista, i si és local o global. Un cop creada la llista, apareixeran els blocs que ens permet gestionar-la.

Per defecte, veurem la llista a l'escenari. Com fèiem amb les variables, podem amagar-la o no, clicant la casella de selecció de davant del nom de la llista. Un cop creada, la llista apareix buida, però podem omplir-la directament al seu monitor, clicant el signe +  i escrivint els diferents elements. També els podem eliminar directament clicant l'element i la creu que apareix al seu costat. 

Com gestionar llistes a Scratch

Les llistes, al igual que les variables, quedaran en l'estat en que estiguin en el moment de desar el programa. En alguns casos, això ja ens està bé, però en alguna ocasió ens pot interessar que el mateix programa canviï, afegeixi o suprimeixi elements. Per això tenim els diferents blocs de gestió de llistes, que ens permetrà crear-les al mateix programa, de forma que ens assegurem sempre de la integritat de les dades.


Veieu que podem afegir, eliminar o canviar qualsevol element de la llista (el primer, el darrer o qualsevol triat a l'atzar). També podem localitzar un element de la llista segons el seu índex, o bé, obtenir la llargada de la llista. Tots aquests blocs ens ajuden a modificar la llista segons ens convingui per a la creació del nostre programa.

Podem també importar i exportar el contingut de les llistes a fitxers de text pla, simplement clicant la llista amb el botó de la dreta en l'entorn de creació.

Exemples

Exemple 1
Crea una llista amb diferents salutacions. Fixa't en l'exemple: 


El següent programa et saludarà cada cop amb una de les frases de la llista triada a l'atzar. 



Exemple 2
Crea dues llistes: la llista mes amb els mesos de l'any (gener, febrer, març...) i la llista dia de la setmana (diumenge, dilluns, dimarts...). Prova el següent programa, que et dirà en quin mes i en quin dia som. Fixa't que fem servir el sensor (mes) actual, que ens torna un nombre, com a índex del valor a cercar en la llista.




Exemple 3
Amb les llistes es poden crear fàcilment jocs de preguntes/respostes. Crea una llista de Comarques i una de les seves capitals. Vigila que estiguin correctament ordenades! També hauràs de crear una variable que ens indicarà quina pregunta estem fent.


El joc ens preguntarà per una comarca de la llista (un nombre triat a l'atzar entre 1 i la llargada de la llista). Si el nom escrit correspon a l'element amb el mateix nombre de la llista de capitals, haurem encertat.


Exemple 4
Al joc Endevina la bandera juguem amb una llista ordenada segons les disfresses del personatge. 
Ens pregunta per una bandera i si s'encerta, l'afegim a una llista de control per evitar repetir la pregunta.