Estructures
Estructura iterativa
Repetir és una de les accions que els ordinadors fan millor. Són incansables! A més a més, és completament necessari poder repetir certes accions per donar sentit a la programació.
Començarem per la repetició més senzilla:
Les instruccions referents a les estructures iterativa i condicional les trobem a la categoria Control, i tenen aquesta forma de contenidor obert. En aquest cas, a la repetició per sempre, el nom és prou informatiu; els programes que hi posarem dins es repetiran sense fi.
Tornem al programa que fèiem servir a l'apartat anterior. Anem a posar-ho tot, excepte la instrucció inicial de començar amb la bandera verda, dins d'un per sempre i desprès ho tornem a enganxar a la instrucció d'inici. A continuació podem veure la seqüència:
Veiem que aquest programa fa el mateix que l'anterior, però ho que fa continuament. Això és així perquè les instruccions que estan a dins del per sempre s'executen sense parar… per sempre! Podem aturar l'execució prement el botó vermell al costat de la bandera verda (el botó d'stop).
Ara bé, tot sovint no ens cal repetir per sempre. Podem dir a l'Scratch que volem repetir només un nombre determinat de vegades. Arrossegant i canviant de lloc les instruccions com hem vist en el cas del per sempre, podem utilitzar el repeteix 10, de manera que aquest 10 el podem canviar per qualsevol altre valor.
Podem intuir clarament que el programa repetirà 10 vegades el que hi ha dins de la instrucció de repetir quan premem la bandera verda.
Pot ser també que vulguem repetir un conjunt d'instruccions fins que passi alguna cosa relacionada amb l'execució del nostre programa; en aquest cas necessitarem definir una condició per deixar de repetir el programa. Aquesta condició dependrà del que estigui passant mentre s'executa el programa, per tant no podrem, abans d'executar el programa, saber quantes vegades s'ha de repetir.
Per exemple podríem voler que el nostre conjunt d'instruccions s'anés repetint fins que premem una tecla, o fins que fem clic amb el ratolí, o fins que la direcció del personatge tingui un valor negatiu… En aquests casos hem de fer servir la instrucció repeteix fins amb les expressions lògiques corresponents.
Si ens mirem atentament aquesta instrucció veiem que l'espai on hem de posar alguna cosa té els contorns angulars, això vol dir que només hi podrem posar expressions lògiques, expressions que només poden ser Sí o No (Cert o Fals). Respecte els nostres exemples, les expressions que hi hauríem de posar serien les següents, que podem trobar a la categoria Sensors:
L'últim exemple que hem plantejat, repetir fins que la direcció del personatge sigui negativa, no té una expressió lògica immediata, sinó que la hem de construir. A la categoria Operadors hi ha diferents operadors matemàtics, alguns d'ells tenen els contorns arrodonits, que donaran com a resultat un valor, i d'altres tenen els contorns angulars, que donaran com a resultat una expressió lògica (també ens en podrem referir com a expressió booleana). L'expressió lògica que necessitem serà la següent:
Amb aquestes expressions lògiques podríem construir les següents repeticions condicionals, que són el preàmbul per treballar les estructures condicionals:
Estructura condicional
Aquesta estructura ens permet decidir si un conjunt d'instruccions s'executa, o no, en funció d'una condició, és a dir, d'una expressió lògica.
Les instruccions referents a aquesta estructura també les trobarem a la categoria Control i, com les estructures iteratives, també tenen forma de contenidor obert:
La primera d'aquestes estructures condicionals ens permet executar un conjunt d'instruccions si s'acompleix una determinada expressió lògica i continuar amb el desenvolupament del programa. En aquest cas si no s'acompleix la condició, l'execució del programa no es veu afectat de cap manera. Per exemple podem fer una modificació del nostre programa de manera que el gat només mioli si premem una tecla:
La segona estructura presenta una característica diferent. En qualsevol cas l'execució del programa es veurà afectada per la inclusió d'un conjunt d'instruccions en el seu desenvolupament, que serà un o altre en funció de si s'acompleix l'expressió lògica o no. En el exemple que hi ha a continuació el gat es mou a la part superior o inferior de la pantalla en funció de la resposta que donem: