Está en la página 1de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

D209 - Scratch: Introducci a la programaci d'ordinadors


Mdul 1 - Prctica 4

Estructures condicional i iterativa


En aquesta prctica comenarem a explicar les estructures fonamentals de la programaci que ens queden per veure desprs d'haver treballat l'estructura seqencial a la prctica anterior.

Estructura Iterativa (I)


Repetir s una de les accions que els ordinadors fan millor. Sn incansables! A ms, s completament necessari poder repetir per poder fer programes. Sense l'habilitat de fer repeticions hi hauria problemes que els ordinadors no podrien resoldre! Comenarem per la repetici ms senzilla:

Les estructures de control a Scratch tenen aquesta forma de contenidor obert. En aquest cas, la repetici 'per sempre', el nom s prou informatiu. Els programes que posarem dins del 'per sempre' es repetiran sense fi. Tornem al programa que fiem servir a la prctica 3. Anem a posar-ho tot, excepte la instrucci inicial de comenar amb la bandera verda, dins d'un 'per sempre' i desprs ho tornem a enganxar en comenar amb la bandereta verda. A la figura veiem el procs amb tots els detalls:

Aix doncs el programa que tenim s aquest

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 1 de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

que el que fa s premeu la bandereta verda! Veieu que fa el mateix que feia, per ho fa sempre. Aix s perqu les instruccions que estan a dins del 'per sempre' s'executen sense parar per sempre! Ho podeu aturar prement el bot vermell al costat de la bandera verda (el bot d'stop). No cal, per, repetir per sempre. Podem dir a Scratch que volem repetir noms un nombre determinat de vegades. Arrossegant i canviant de lloc les instruccions com hem vist en el cas del 'per sempre', podem utilitzar el 'repetir 10' un cert nombre (10 en aquest cas) de vegades. Aquest 10 el podem canviar. A la figura hem acabat posant 25.

El programa queda aix

s fora clar qu far el programa. Ara tindrem les accions dins del 'repetir' executades 25 vegades en prmer la bandera verda. Per pot ser que vulguem repetir noms si passa alguna cosa relacionada amb el nostre programa. s a dir, pot ser que la condici per deixar de repetir depengui del que est passant mentre s'executa el programa, i per tant no puguem saber, abans d'executar el programa quantes vegades s'ha de repetir. Veiem un exemple, El 'repetir fins' t un forat de contorns angulars al costat, per tant, espera que hi posem una expressi lgica

s, s, ja ho s. De qu estem parlant? expressions lgiques? forats de contorns angulars? quan ho hem vist aix? Doncs encara no ho hem vist. Precisament per aix caldr que fem un petit parntesi.

Expressions
No tot el que est categoritzat amb els botons

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 2 de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

sn prpiament instruccions. No hem fet aquesta distinci fins ara per simplificar, per ara conv entrar-hi una mica ms en detall. Mireu les categories 'Operadors' o 'Sensors'. Trobareu uns blocs de forma diferent als blocs que hem vist fins ara. Compareu les instruccions com 'moure', les estructures de control com el 'per sempre' i les expressions.

Les expressions es caracteritzen per retornar valors. D'una expressi s'espera que calculi o mesuri alguna cosa i retorni el resultat. No sn instruccions, sin que s'han d'utilitzar en llocs molt determinats, que n'imposen la utilitzaci. Fixeu-vos que hi ha expressions-bloc amb contorns rodons i expressions-bloc amb contorns angulars. Les primeres, les dels contorns rodons, sn expressions numriques, s a dir, han de retornar un valor numric. En canvi, les altres, de contorns angulars, sn expressions lgiques amb dos possibles valors: 'cert' o 'fals'.
1)

A la figura veiem l'expressi de sumar dos nombres, amb un lloc a cada costat del '+' per posar-hi els nombres, i l'expressi 'distncia a men', que ens diu la distncia de l'objecte al que pertany el programa del que l'expressi forma part, a un altre objecte triat del petit men desplegable que hi veiem.

En canvi la comparaci entre dos nombres '<' o la pregunta 'ratol premut?' es respondran amb valors 'cert' o 'fals'

Aquestes expressions van a llocs especialment preparats per collocar-hi aquests blocs. Els blocs de contorns rodons poden anar a forats amb contorns rodons. Per exemple, els parmetres de la instrucci moure estan preparats per posar-hi una expressi numrica, per els mateixos parmetres de les operacions aritmtiques (com el '+' que ja hem vist) tamb estan preparats per posar-hi altres expressions numriques. Aix podem composar les operacions. Per tant, podem composar expressions

per poder construir instruccions ms sofisticades

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 3 de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

per moure l'objecte un nombre de passos entre 21 i 25, triat a l'atzar . Igualment, els forats amb contorns angulars estan preparats per encabir-hi expressions lgiques, s a dir, expressions que tenen com a possible resposta noms dos valors: 'cert' o 'fals'. I tamb podem composar operacions de la mateixa manera que ho hem fet amb les expressions numriques. Fins i tot podem composar els dos tipus d'expressions, si el bloc ens ho permet. Veiem-ne alguns exemples: Aquesta, s una expressi lgica que ens dir si el doble de l'arrel quadrada de 10 s ms petit que 7 sumat a un nombre a l'atzar entre 1 i 10 (i el resultat, 'cert' o 'fals', dependr del nombre a l'atzar que surti, s clar!)

2)

Aquesta expressi ens dir si tenim el ratol premut i la tecla espai premuda.

Fixem-nos en l'operaci lgica i (conjunci). De la mateixa manera disposem a Scratch de les operacions de disjunci (o) i negaci (no) . Aix doncs, resumint, els forats de contorns arrodonits esperen que hi posem expressions numriques (que poden ser tan senzilles com un sol nmero, o tan sofisticades com vulguem) i els forats de contorns angulars esperen que hi posem una expressi lgica (de valor 'cert' o 'fals'). Tenim diversos blocsexpressi per construir expressions. Estan essencialment a les categories 'Operadors' i 'Sensors'. I posarem fi a aquest parntesi
3)

Estructura Iterativa (II)


Diem que hi ha estructures iteratives que repetiran les instruccions que hi ha dintre seu en funci del que passi mentre s'executa el programa. Ara ja podem intuir que aix passar en funci del resultat d'una expressi lgica. Aquesta s la ra que s'anomenin repeticions condicionals Veiem un exemple. Suposem que volem un programa que faci el mateix que el programa que estem fent servir en aquesta prctica, s a dir,que mogui el gatet 10 passos, el giri 15 graus, mioli i alterni vestits, per volem que ho faci fins que l'usuari premi la tecla espai. Ara ja sabem com manipular els blocs per construir el programa, de manera que ja no cal detallar-ho tant com abans. El programa que tindrem s

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 4 de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

Fixem-nos que per fer-ho ms divertit hem decidit introduir una mica d'aleatorietat al programa. Ara, a cada repetici, es mour un nombre de passos a l'atzar entre 1 i 10 i girar un angle entre -30 i 30 graus, tamb a l'atzar. Executeu-lo i estigueu segurs d'entendre b qu est passant. Oi que quan arriba a les vores queda el gatet ocult? Ho podem resoldre demanant a cada repetici que reboti si toca una vora. Hi ha una instrucci que fa precisament aix:

Penseu que les repeticions indefinides o d'un determinat nombre de vegades sn bastant fcils d'entendre, per les repeticions condicionals amaguen subtileses que noms deixen de ser-ho amb la prctica. Insistiu a entendre b les repeticions condicionals amb variacions d'aquestes prctiques.

Estructura Condicional
Per finalitzar aquesta prctica, estudiarem la darrera estructura bsica que ens queda per veure: l'estructura condicional. En aquest cas tenim una estructura de control que serveix per decidir si un cert conjunt d'instruccions s'executa, o no, en funci d'una condici (s a dir, d'una expressi lgica). Aquestes sn les estructures 'si' i 'sisi no'. Les trobareu categoritzades a 'Control'

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 5 de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

Si ja heu ents les repeticions condicionals, aquestes no us han de costar gens. La idea s que si l'expressi lgica (fixeu-vos en els forats de contorns angulars) s 'cert', executarem les instruccions dins del 'si', si aquesta expressi s 'fals', executarem, no res en el cas del 'si' i les instruccions dins del 'si no' en el cas del 'sisi no' Suposem ara que volem que el gatet comenci des de l'origen de coordenades i que es mogui i giri a l'atzar com hem vist abans, per volem que mioli noms quan pitgem la tecla 'm'. Per a aix farem servir una estructura condicional 'si'

s possible que, a vegades pitgeu la tecla 'm' i el gat mioli ms d'un cop. No us amoneu, que aix ja s correcte. El que passa s que el temps que vosaltres penseu que ha estat prmer la tecla un cop, Scratch ha tingut temps de llegir la tecla unes quantes vegades i prendre-s'ho com una ordre de prmer la tecla diverses vegades.

Per poder veure exemples del 'sisi no' el millor que podeu fer s pensarlos vosaltres mateixos. Hi ha un component creatiu molt important en la programaci!

Fins ara hem vist i jugat amb programets bastant simples, que l'nica cosa que pretenien era illustrar els conceptes explicats. Al proper mdul ja veurem com construir programes amb un cert grau de sofisticaci i de diversi! Potser costa de creure, per amb el que ja sabeu en teniu ms que suficient per fer programes molt interessants. Comenarem de seguida.
1) 2) 3)

tamb conegudes com expressions booleanes com si tingussim un dau amb 5 cares, numerades 21, 22, , 25

recordem que la conjunci respon 'cert' noms quan els seus arguments sn tots dos 'cert' i la disjunci respon 'fals' noms quan els seus arguments sn tots dos 'fals'

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 6 de 7

Ateneu - Materials i recursos per a la formaci - Departament d'Ensenyament - D209 - Scratch: Introducci a la programaci d'ordinadors

26/05/13 18:08

http://ateneu.xtec.cat/wikiform/wikiexport/cursos/curriculum/eso_btx/d209/modul_1/practica_4

Pgina 7 de 7

También podría gustarte