Programem!

En aquest apartat trobarem una breu introducció a la programació amb l'Scratch. Farem un petit programa amb estructura seqüencial tot incorporant-hi instruccions de diferents categories.



Més concretament es pretén donar resposta a les preguntes següents:


  • Com podem construir un programa?
  • Podem incorporar-hi so?
  • Podem simular moviment?


On programarem?

Les instruccions estan categoritzades segons el que fan. A la zona emmarcada de color carabassa tenim un botó per categoria. Si premem qualsevol d'aquests botons, obtindrem just a sota, a la zona emmarcada de color verd clar, les instruccions corresponents a aquesta categoria.



Les instruccions de cada categoria vénen amb el mateix color que el botó de la categoria: blau pel moviment, morat per l'aspecte, etc. Aquí podem veure un dels punts forts de l'Scratch: les instruccions són blocs!, i amb els blocs construirem (literalment!!) programes.



La zona buida de la dreta és el lloc on construirem els nostres programes. Cal que ens fixem que aquesta regió està vinculada estretament al personatge seleccionat a l'escenari i que podem veure remarcat a la zona dels personatges. Quan construïm un programa en aquesta regió, aquest programa estarà associat al personatge que tinguem seleccionat. A la imatge següent podem veure que tenim seleccionat el gatet rosa, per tant si construíssim un programa, estaria associat a aquest gatet.



Comencem a programar

Un programa és una llista organitzada d'instruccions que, en executar-se, fan que l'ordinador es comporti d'una manera determinada. Programar serà, per tant, partir d'un repte concret i intentar proporcionar unes instruccions a l'ordinador perquè faci el que nosaltres volem.


Cal que tinguem en compte que a programar se n'aprèn programant. No hi ha dreceres. L'única manera de ser competents programant és practicant molt, el que vol dir que ens equivocarem moltes vegades. Aquest aspecte, pensant en els nostres alumnes a l'aula, els ajudarà a planificar, a utilitzar l'assaig i error, i acabaran entenent l'error com un camí cap a l'aprenentatge… De fet, aquesta és una de les parts més divertides de programar. Possiblement estarem gran part del nostre temps jugant a detectius o resolent trencaclosques, activitats equivalents a trobar errors en els nostres programes.


Com es fa això amb l'Scratch? Comencem des de zero. El primer de tot és fer que el gatet faci coses senzilles.


Per afegir instruccions a un programa, les arrossegarem de la zona d'instruccions a la de programació. A la imatge podem veure que hem arrossegat tres instruccions diferents a la zona de programació:



Si fem doble-clic sobre la instrucció de moure, veurem el gatet movent-se 10 passos endavant (en la direcció que té associada). Si fem doble-clic sobre la instrucció de girar, veurem com canvia la direcció del gatet, i si fem doble-clic sobre la instrucció d'anar a un punt, el gatet tornarà a l'origen.


Aquests espais en blanc amb nombres dins de cada instrucció-bloc són editables. Provem de canviar el 10 de la instrucció de moure per un 100 i tornem a fer doble-clic a sobre de la instrucció.


De fet, el que tenim ara són tres programes que afecten el mateix personatge, però cadascun d'ells només té una instrucció. Aquests programes els executem fent-hi doble-clic a sobre.


Ara bé, el que farem normalment és combinar diferents instruccions per fer programes més llargs i complexos. A l'Scratch combinarem les instruccions enganxant-les una a sota de l'altra, de manera que s'executaran primer les que estan més amunt. D'això en direm una estructura seqüencial. Com a exemple ara podem combinar les tres instruccions que tenim a la zona de programació:



Enganxem les instruccions senzillament arrossegant una instrucció fins a posar-la sota de la instrucció que ha d'executar-se abans. A la imatge de l'esquerra ja tenim enganxades les dues primeres instruccions i estem a punt d'enganxar la tercera. A la dreta veiem el resultat final. Quan estem a punt d'enganxar una instrucció ens apareixerà una ratlla blanca indicant on s'enganxarà la instrucció que estem arrossegant.


Ara tenim un programa amb tres instruccions. L'ordre d'execució serà el següent:

  1. Primer el gatet es mourà a la posició amb coordenada x=0 i coordenada y=0 (el centre de l'escenari)
  2. Després el gatet es mourà 10 passes en la direcció corresponent (direcció 90 si no l'hem tocat)
  3. Finalment el gatet girarà 15 graus en el sentit de les agulles del rellotge


Podem executar el programa fent-hi doble-clic a sobre. Tot i això, el més habitual en l'Scratch és executar els programes prement la bandera verda que hi ha a la part superior dreta per sobre de l'escenari. Això és molt fàcil de fer, ja que només hem de posar-hi la instrucció corresponent. Hem de seleccionar la categoria Esdeveniments i arrosseguem a la zona de programes la instrucció quan la bandera verda es premi. Finalment arrosseguem el programa a sota de la instrucció que acabem d'afegir.



El resultat final és aquest programa:



Fixem-nos que ara, en prémer la bandera verda, el nostre gatet farà el mateix que feia abans.

Fem clic a la bandera verda diverses vegades. Què passa? Sabríem explicar el perquè?


Afegim altres tipus d'instruccions

Tenim deu categories d'instruccions i a cadascuna d'elles hi podem trobar un bon grapat d'instruccions que podem utilitzar en els nostres programes. No ens dedicarem a explicar d'una en una totes les instruccions que l'Scratch posa a la nostra disposició, seria molt avorrit. El que farem serà il·lustrar amb exemples les possibilitats de l'Scratch i, a mesura que necessitem diferents instruccions, les anirem utilitzant.


Continuem amb el programa que hem començat a fer. Imaginem ara que volem que el gatet faci alguna mena de so. Podem triar la categoria Sons i afegir la instrucció toca el so.



Ara, quan premem la bandera verda, el gatet farà com fins ara i, a més a més, miolarà.


D'altra banda, si anem a la pestanya Vestits, podem veure que el gatet té dos vestits, anomenats costume1 i costume2.



Quan tornem a la pestanya Programes, si triem categoria Aspecte, podem afegir al nostre programa la instrucció següent vestit:



Si premem la bandera verda diverses vegades podrem apreciar un nou comportament en el nostre gatet: els seus vestits s'alternen en cada clic a la bandera verda. Aquest canvi de vestits serà la base de les animacions fetes amb l'Scratch.


Finalment només queda un petit detall. Si volem eliminar de la zona de programació qualsevol instrucció, l'únic que hem de fer és arrossegar-la cap a la zona d'instruccions i desapareixerà! Exactament el mateix podem fer amb un conjunt d'instruccions enganxades.