Ara ja teniu un cert domini sobre la manipulació dels personatges dins de l'escenari. Sabeu esborrar-los (tisores), duplicar-los (tampó), crear-ne de nous (editor de dibuixos), etc.

Però Scratch és un entorn per aprendre a programar i això és el que hauríem de començar a fer sense més preàmbuls.

En aquest apartat provarem d'explicar aquelles parts de l'entorn que ens serviran per programar, i també començarem a fer alguns programets senzills.

On programarem?

  • Les instruccions estan categoritzades segons el que fan. Teniu un marc amb un botó per categoria. Si premeu qualsevol botó d'aquests obtindreu, a la zona de sota, 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, lila per l'aspecte, etc. Aquí teniu un dels punts forts d'Scratch: les instruccions són blocs!, i amb els blocs construirem (literalment!!) programes.

  • La zona (fins ara) buida és el lloc on posarem els nostres programes. Fixeu-vos que aquesta regió està vinculada estretament al personatge sel·leccionat a l'escenari que podeu veure remarcat a la zona dels personatges. Quan posem el programa en aquesta regió, aquest serà un programa associat a un personatge específic. A la figura podeu veure que tenim sel·leccionat el gatet rosa, per tant si féssim un programa, aquest seria un programa associat a aquest gatet.

Programem!

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'una tasca concreta i intentar proporcionar unes instruccions a l'ordinador per a que faci el que nosaltres volem.

Penseu que a programar se n'aprèn programant. No hi ha dreceres. L'única manera de ser competents programant és practicant molt. Això vol dir, equivocant-vos molt. Que ningú es decebi per fer errors en els seus programes, aquest és el procés habitual. De fet, aquesta és una de les parts més divertides de programar. Possiblement estareu gran part del vostre temps jugant a detectius, o resolent trencaclosques, activitats equivalents a trobar errors en els vostres programes.

Com es fa això a 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 zona de programació amb el ratolí (farem clic a sobre de la instrucció i, sense deixar anar el botó del ratolí, mourem la instrucció allà on volem). A la figura hem agafat i arrossegat tres instruccions diferents cap a la zona de programació:

Feu doble-clic a sobre de cadascuna de les tres instruccions a la zona de programació i fixeu-vos en el gatet de l'escenari. Si feu doble-clic sobre la instrucció de moure, veurem el gatet movent-se 10 passos endavant (en la direcció que té associada). Si feu doble-clic sobre la instrucció de girar, veurem com canvia la direcció del gatet, i si feu doble-clic sobre la instrucció d'anar, el gat torna 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 feu doble-clic a sobre de la instrucció. Què veieu? Que el gat es mou 100 passos en lloc de 10.

De fet, el que tenim ara són tres programets (cadascun d'una sola instrucció) que afecten al mateix gatet. Els executem (executar és dur a terme la instrucció o instruccions d'un programa) fent doble-clic a sobre.

Però normalment voldrem combinar instruccions per fer programes més llargs i sofisticats. A Scratch, combinarem les instruccions enganxant-les, una a sota de l'altra, de manera que s'executaran primer les que estan més amunt (per ser rigorosos, d'això en direm estructura seqüencial). Com a exemple ara podem combinar les tres instruccions que hem posat fa una estona dins 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 figura ja hem enganxat la instrucció de moure a la instrucció d'anar, i estem a punt d'enganxar (esquerra) la instrucció de girar. 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. Més endavant ens serà molt útil.

Ara ja tenim un programa amb tres instruccions. S'executarà de la següent manera:

  1. Primer moure el centre de coordenades del gatet a la posició amb coordenada x igual a 0 i coordenada y igual a 0 (el centre de l'escenari).
  2. Després moure el gatet en la direcció corresponent (90 si no l'hem tocat), 10 passes.
  3. Finalment girarà el gatet 15 graus en sentit contrari a les agulles del rellotge (girar un nombre positiu de graus voldrà dir girar en el sentit contrari a les agulles del rellotge).

I l'executarem fent doble-clic a sobre del programa (els tres blocs enganxats).

Tot i això, és més habitual en Scratch executar els programes prement la bandera verda (a dalt a la dreta). És molt fàcil fer-ho, ja que només hem de posar-hi la instrucció corresponent. Fem clic sobre el botó de la categoria d'instruccions 'control' (encerclat vermell a la figura) i arrosseguem a la zona de programes la instrucció 'al prémer la bandera verda' (encerclat verd). Després, arrosseguem el programa a sota de la instrucció que acabem d'afegir (encerclat blau)

El resultat final és el 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íeu explicar per què passa el que veieu?

Tenim deu categories d'instruccions, i a cada categoria d'instruccions 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 posa a la nostra disposició Scratch. Això seria força avorrit. El que farem és il·lustrar amb exemples les possibilitats d'Scratch i, a mida que necessitem diferents instruccions, les anirem utilitzant i explicant, si cal.

Continuem amb el programet que hem començat a fer. Imaginem ara que volem que el gatet faci alguna mena de soroll. Podem triar la categoria 'Sons' i afegir la instrucció-bloc 'tocar so' (triant 'gat' en el desplegable del bloc) al programa.

Ara, quan premeu la bandera verda veureu que el gat fa el que ja sabem i, a més, miola.

Els personatges poden tenir diferents vestits. Sense sortir del programet senzill amb el que estem treballant, trieu la pestanya 'Vestits'.

Fixeu-vos que el gatet té dos vestits, anomenats 'vestit1' i 'vestit2'

Si tornem a la pestanya 'Programes' i fem clic sobre el botó de la categoria 'Aspecte', podem afegir (arrosseguem des de la llista d'instruccions de la categoria 'Aspecte') al nostre programet la instrucció 'següent vestit'. Fem-ho i veiem què passa:

Premem la bandera verda vàries vegades i fixem-nos que els vestits del gatet s'alternen en cada clic a la bandera verda (i encara va girant cada vegada, ja sabeu el per què?). Aquest canvi de vestits serà la base de les animacions fetes amb Scratch. Encara ens queda, però, una mica de camí per endavant.

Si ara volguéssiu no haver de fer clic a la bandera verda per repetir l'acció, com ho faríeu? No podríeu fer-ho encara. Hi ha certes estructures de programació que encara no hem vist. A la propera activitat veurem construccions bàsiques que ens permetran fer programes més sofisticats.

Abans hem dit que a programar se n'aprèn programant, doncs ja podem començar.

Per cert, queda un petit detall. Si volem eliminar de la zona de programació qualsevol instrucció, l'arrossegarem cap a la zona d'instruccions i, sigui quina sigui la categoria seleccionada, desapareixerà! Exactament el mateix podem fer amb un conjunt d'instruccions enganxades.