Tornar a la portadaTecnologia i Digitalització · 2n ESO · Canviar d'assignatura
Començar gratis
ESO 2n · Tecnologia i Digitalització
La creació de continguts digitals · Creació i programació senzilla

Programació per blocs

Un programa per blocs es construeix encaixant peces, com en un trencaclosques: no cal escriure ni una lletra de codi per dir a l'ordinador exactament què ha de fer, en quin ordre, quan ha de repetir alguna cosa i quan ha de decidir entre dos camins.

Et convé dominar: El llenguatge algebraic (1r d'ESO)
Et convé dominar: Els programes i les aplicacions (1r d'ESO)

Les tres estructures bàsiques

Esquema de les tres estructures bàsiques de programació: seqüència de tres blocs apilats, bucle amb un grup de blocs que es repeteix i condicional amb dos camins, si i si no. seqüència repetir bucle si / si no condicional
Practica★☆☆Sense començar
Explica amb les teves paraules què fan les tres estructures bàsiques d'un programa —seqüència, bucle i condicional— i posa un exemple de la vida quotidiana de cadascuna…

Explica amb les teves paraules què fan les tres estructures bàsiques d'un programa —seqüència, bucle i condicional— i posa un exemple de la vida quotidiana de cadascuna que no tingui a veure amb ordinadors.

Resoldre
Practica★☆☆Sense començar
Un programa té aquests blocs solts: «dir Adéu!», «en prémer la bandera», «esperar un moment», «dir Hola!». Ordena'ls a la pila correcta i descriu què passarà exactament…

Un programa té aquests blocs solts: «dir Adéu!», «en prémer la bandera», «esperar un moment», «dir Hola!». Ordena'ls a la pila correcta i descriu què passarà exactament en executar el programa.

Resoldre
Practica★☆☆Sense començar
Els blocs d'esdeveniment decideixen quan comença a funcionar una pila de blocs. Explica què fa arrencar cadascun d'aquests tres esdeveniments: «en prémer la bandera»,…

Els blocs d'esdeveniment decideixen quan comença a funcionar una pila de blocs. Explica què fa arrencar cadascun d'aquests tres esdeveniments: «en prémer la bandera», «en prémer la tecla espai» i «en fer clic al personatge», i descriu què passaria si un projecte té dues piles diferents amb dos esdeveniments diferents.

Resoldre
Practica★☆☆Sense començar
Aquests blocs d'aparença estan solts: «canviar a la disfressa de pirata», «dir Hola, em dic Marc! durant 2 segons», «en prémer la bandera», «esperar 1 segon». Ordena'ls…

Aquests blocs d'aparença estan solts: «canviar a la disfressa de pirata», «dir Hola, em dic Marc! durant 2 segons», «en prémer la bandera», «esperar 1 segon». Ordena'ls per presentar un personatge que primer saluda i després es disfressa, i descriu el que veurà l'espectador.

Resoldre
Practica★☆☆Sense començar
Un programa té aquesta pila: «en prémer la bandera», «dir 3», «esperar un moment», «dir 2», «esperar un moment», «dir 1», «dir Ja!». Descriu amb detall què veurà i què…

Un programa té aquesta pila: «en prémer la bandera», «dir 3», «esperar un moment», «dir 2», «esperar un moment», «dir 1», «dir Ja!». Descriu amb detall què veurà i què escoltarà l'usuari des que prem la bandera fins al final, i explica quina utilitat tenen les esperes.

Resoldre

Esdeveniments, moviment i l'escenari

Practica★☆☆Sense començar
El programa de la figura, format per blocs encaixats, hauria de fer que un personatge recorri el quadrat de punts i avisi en acabar, però a dins del bucle hi falta un…

El programa de la figura, format per blocs encaixats, hauria de fer que un personatge recorri el quadrat de punts i avisi en acabar, però a dins del bucle hi falta un bloc.

en prémer la bandera repetir 4 vegades fer un pas ? dir He arribat!

Indica quin bloc falta dins del bucle perquè el personatge completi el recorregut del quadrat i explica què fa cada part del programa.

Resoldre
Practica★☆☆Sense començar
En un joc, un gat corre per l'escenari i un gos el persegueix. Explica on col·locaries el bloc «tocar el so miau» perquè soni exactament quan el gos atrapa el gat, quin…

En un joc, un gat corre per l'escenari i un gos el persegueix. Explica on col·locaries el bloc «tocar el so miau» perquè soni exactament quan el gos atrapa el gat, quin bloc de comprovació l'acompanya i què passaria si el so estigués fora d'aquesta comprovació.

Resoldre
Practica★☆☆Sense començar
L'escenari d'un programa per blocs funciona com un mapa de coordenades: la «x» indica la posició horitzontal i la «y» la vertical, i el centre és el punt $(0, 0)$.…

L'escenari d'un programa per blocs funciona com un mapa de coordenades: la «x» indica la posició horitzontal i la «y» la vertical, i el centre és el punt $(0, 0)$. Explica on apareixerà el personatge amb el bloc «anar a x: 0, y: 0» i cap a on es mourà si la «x» augmenta o si la «y» disminueix.

Resoldre

Variables i bucles controlats

Animació d'una variable «punts» en un bucle: un ressaltat recorre els blocs; a cada volta es comprova la capçalera del bucle, «sumar 1 a punts» omple un indicador i després es fa un pas. Amb tres indicadors plens la comprovació es compleix, el flux surt del bucle i es ressalta «dir Meta!». posar punts a 0 repetir fins que punts = 3 sumar 1 a punts fer un pas dir Meta!
Practica★★☆Sense començar
Un programa vol comptar de l'un al deu amb aquests blocs: «repetir 10 vegades: dir el número; sumar 1 al número». En executar-lo, el compte no comença per l'u i, cada…

Un programa vol comptar de l'un al deu amb aquests blocs: «repetir 10 vegades: dir el número; sumar 1 al número». En executar-lo, el compte no comença per l'u i, cada vegada que es torna a executar, comença per un número diferent. Explica quin bloc falta i on s'hauria de col·locar, i en quina posició de la pila cal posar el valor inicial del número.

Resoldre
Practica★★☆Sense començar
La figura mostra dos programes que mouen un personatge amb dos tipus de bucle diferents. Explica quina diferència hi ha entre els dos bucles, posa una situació en què…

La figura mostra dos programes que mouen un personatge amb dos tipus de bucle diferents.

en començar repetir 10 vegades fer un pas en començar repetir fins a la meta fer un pas

Explica quina diferència hi ha entre els dos bucles, posa una situació en què convingui utilitzar cadascun i raona què pot passar amb el bucle de la dreta si la meta no existís.

Resoldre
Practica★★☆Sense començar
La figura mostra un programa amb una variable anomenada «punts» que controla un bucle. Fes la traça del programa: indica quantes vegades s'executa el bucle i quants…

La figura mostra un programa amb una variable anomenada «punts» que controla un bucle.

en prémer la bandera posar punts a 0 repetir fins que punts = 3 sumar 1 a punts fer un pas dir Meta!

Fes la traça del programa: indica quantes vegades s'executa el bucle i quants passos fa el personatge en total. Després raona què passaria si el bloc «posar punts a 0» estigués dins del bucle en lloc d'abans.

Resoldre
Practica★★☆Sense començar
Per animar un personatge s'utilitza «repetir 4 vegades: següent disfressa; esperar mig segon». Explica què aconsegueix aquest bucle i calcula quant dura l'animació…

Per animar un personatge s'utilitza «repetir 4 vegades: següent disfressa; esperar mig segon». Explica què aconsegueix aquest bucle i calcula quant dura l'animació completa si cada espera és de $0,5\ \text{s}$ i el canvi de disfressa és instantani.

Resoldre
Practica★★★Sense començar
En un joc de contrarellotge es vol registrar el rècord del menor temps emprat per a completar un circuit. Un alumne escriu aquest codi en arribar a la meta: «si…

En un joc de contrarellotge es vol registrar el rècord del menor temps emprat per a completar un circuit. Un alumne escriu aquest codi en arribar a la meta:

«si <Temps_Partida < Rècord> llavors [assigna a Rècord el valor Temps_Partida]»

Tanmateix, en jugar per primera vegada després de crear la variable Rècord (que Scratch inicialitza per defecte a 0), el rècord no s'actualitza mai, sense importar com de ràpid vagi el cotxe.

  1. a) Justifica per què falla aquesta comprovació i explica la diferència d'inicialització entre buscar un rècord de màxima puntuació i un de temps mínim.
  2. b) Dissenya l'estructura de blocs que resolgui aquest problema per a la primera partida i les següents sense haver d'escriure manualment un valor inicial fictici abans de prémer la bandera verda.
Resoldre
Practica★★★Sense començar
Per mesurar la durada d'una partida, es crea aquest cronòmetre: «en fer clic a la bandera verda: fixa Segons a 0 per sempre: espera 1 s suma a Segons 1» En comparar…

Per mesurar la durada d'una partida, es crea aquest cronòmetre:

«en fer clic a la bandera verda:

fixa Segons a 0

per sempre:

espera 1 s

suma a Segons 1»

En comparar aquest comptador amb un rellotge real després de 10 minuts de joc intens, el cronòmetre de Scratch marca només 9 minuts i 35 segons (un desfasament de 25 segons).

  1. a) Justifica per què un bucle amb el bloc «espera 1 s» acumula retard quan el joc processa molts personatges i moviments simultanis.
  2. b) Dissenya un cronòmetre alternatiu en blocs utilitzant el sensor «cronòmetre» i variables que no depengui de la velocitat de refresc del joc i mostri el temps transcorregut en segons amb un decimal (per exemple: 14,2 s).
  3. c) Justifica per què la teva proposta manté la precisió exacta encara que hi hagi alentiments a la pantalla.
Resoldre

Condicionals imbricats i operadors lògics

Practica★★☆Sense començar
Descriu amb les teves paraules els blocs d'un programa que pregunta l'edat de l'usuari i respon «pots passar» si té 14 anys o més, i «ho sento» en cas contrari. Indica…

Descriu amb les teves paraules els blocs d'un programa que pregunta l'edat de l'usuari i respon «pots passar» si té 14 anys o més, i «ho sento» en cas contrari. Indica quin tipus de bloc de decisió utilitzaries i quina comprovació faria exactament.

Resoldre
Practica★★☆Sense començar
Una cafeteria del barri regala un cafè només als socis i només abans de les 10 del matí. Descriu els blocs de decisió niats del programa que ho comprova i explica la…

Una cafeteria del barri regala un cafè només als socis i només abans de les 10 del matí. Descriu els blocs de decisió niats del programa que ho comprova i explica la diferència entre posar dos «si» un dins de l'altre i posar dos «si» seguits, utilitzant aquest exemple.

Resoldre
Practica★★☆Sense començar
Els blocs d'operadors «i», «o» i «no» combinen comprovacions. Explica què fa cadascun i descriu les condicions completes d'aquests dos sistemes: una porta que s'obre si…

Els blocs d'operadors «i», «o» i «no» combinen comprovacions. Explica què fa cadascun i descriu les condicions completes d'aquests dos sistemes: una porta que s'obre si la targeta és vàlida i a més l'empremta coincideix, i una alarma que sona si s'obre la finestra o es trenca el vidre.

Resoldre
Practica★★★Sense començar
Un company ha programat el cicle d'un semàfor per a cotxes (verd: 10 s; ambre: 3 s; vermell: 12 s) i un semàfor de vianants sincronitzat. Per a fer-ho, ha creat dos…

Un company ha programat el cicle d'un semàfor per a cotxes (verd: 10 s; ambre: 3 s; vermell: 12 s) i un semàfor de vianants sincronitzat. Per a fer-ho, ha creat dos programes independents amb «en fer clic a la bandera verda» i bucles «per sempre» amb blocs d'espera a cada objecte. Després d'un minut de simulació, els cotxes i els vianants tenen llum verda al mateix temps.

  1. a) Justifica per què es produeix aquesta desincronització perillosa en utilitzar bucles amb temps d'espera independents.
  2. b) Dissenya una solució amb blocs que garanteixi que mai coincideixin en verd, explicant si utilitzes variables d'estat o missatges («envia el missatge i espera») i detallant l'ordre exacte dels canvis de llum.
Resoldre
Practica★★★Sense començar
Un estudiant programa el moviment d'una pilota amb aquest codi: «per sempre: mou-te 10 passos rebota en tocar una vora» En executar el programa amb una pilota que no té…

Un estudiant programa el moviment d'una pilota amb aquest codi:

«per sempre:

mou-te 10 passos

rebota en tocar una vora»

En executar el programa amb una pilota que no té la disfressa perfectament centrada, observa que en certs angles la pilota es queda tremolant i encallada a la vora de la pantalla sense poder-ne sortir.

  1. a) Explica pas a pas per què es produeix aquest bloqueig segons com Scratch calcula la col·lisió amb la vora i la posició del centre de la disfressa.
  2. b) Es solucionaria el problema simplement invertint l'ordre dels dos blocs dins del bucle? Justifica la teva resposta preveient què passaria a cada iteració.
  3. c) Dissenya una modificació en els blocs que garanteixi que la pilota es desenganxi de la vora i continuï la seva trajectòria amb normalitat.
Resoldre
Practica★★★Sense començar
Un joc de plataformes té aquest script en el personatge: «en fer clic a la bandera verda: fixa Vides a 3 si <Vides = 0> llavors [atura-ho tot] per sempre: si <tocant…

Un joc de plataformes té aquest script en el personatge:

«en fer clic a la bandera verda:

fixa Vides a 3

si llavors [atura-ho tot]

per sempre:

si <tocant Trampa?> llavors:

  suma a Vides -2

  espera 0,5 s»

El joc presenta dues fallades: la partida mai s'acaba encara que el jugador toqui la trampa repetidament, i si un jugador cau a la trampa tenint 1 vida, el marcador passa a -1 vides sense aturar el joc.

  1. a) Justifica per què la comprovació de final de partida tal com està col·locada no atura el joc en cap moment.
  2. b) Explica per què utilitzar la condició estricta és un error de disseny quan el dany resta més d'1 vida.
  3. c) Dissenya la solució reubicant i modificant els blocs condicionals per assegurar que la partida finalitzi exactament quan les vides s'esgotin o quedin per sota de zero.
Resoldre

Comunicació entre personatges

Diagrama de comunicació per missatges: la pila del botó (en fer clic, enviar «aparèixer») envia el missatge al mag, la pila del qual «en rebre aparèixer» executa mostrar-se. emissor: botó receptor: mag botó: en fer clic enviar «aparèixer» mag: en rebre «aparèixer» mostrar-se missatge
Practica★★☆Sense començar
En un projecte hi ha dos personatges: un botó i un mag. En fer clic al botó, el mag ha d'aparèixer. Explica per a què serveixen els blocs «envia el missatge» i «en rebre…

En un projecte hi ha dos personatges: un botó i un mag. En fer clic al botó, el mag ha d'aparèixer. Explica per a què serveixen els blocs «envia el missatge» i «en rebre el missatge», descriu les piles de blocs que portaria cada personatge i raona per què no n'hi ha prou amb posar els blocs del mag dins del botó.

Resoldre
Practica★★★Sense començar
En un videojoc, s'ha inclòs aquest bloc dins del bucle «per sempre» del personatge principal: «si <tocant Moneda?> llavors [suma 1 a Punts]» «si <tocant Enemic?> llavors…

En un videojoc, s'ha inclòs aquest bloc dins del bucle «per sempre» del personatge principal:

  • «si llavors [suma 1 a Punts]»

  • «si llavors [suma -1 a Vides]»

  • «si llavors [atura-ho tot]»

En provar-ho, es detecten dues errades greus: en tocar una única moneda el comptador puja de cop entre 15 i 20 punts, i en fregar un enemic les 3 vides es perden de manera instantània.

  1. a) Justifica tècnicament per què passa això tenint en compte la velocitat d'execució dels bucles per segon.
  2. b) Dissenya la modificació necessària en els blocs de la moneda i del personatge per a corregir tots dos comportaments sense pausar el moviment general del joc (considera amagar/destruir objectes i períodes d'invulnerabilitat).
Resoldre
Practica★★★Sense començar
En un joc espacial, l'objecte 'Asteroide' té programades aquestes tres piles: Pila 1: «en fer clic a la bandera verda: per sempre [espera 2 s; crea un clon de mi…

En un joc espacial, l'objecte 'Asteroide' té programades aquestes tres piles:

Pila 1: «en fer clic a la bandera verda: per sempre [espera 2 s; crea un clon de mi mateix]»

Pila 2: «en rebre Alerta_Meteorits: crea un clon de mi mateix»

Pila 3: «quan comencis com a clon: mostra; per sempre [suma -5 a y; si <posició y < -170> llavors [amaga]]»

Després de jugar un parell de minuts, el joc pateix alentiments greus, es deixen de crear asteroides i cada vegada que arriba el missatge Alerta_Meteorits el nombre de clons es multiplica de manera incontrolada.

  1. a) Justifica per què el bloc «amaga» fa que el joc deixi de respondre i arribi al límit de clons de Scratch.
  2. b) Explica la fallada de la Pila 2: per què els mateixos clons existents dupliquen la quantitat d'asteroides en rebre un missatge?
  3. c) Dissenya la solució correcta amb blocs per a la creació, moviment i eliminació definitiva dels clons.
Resoldre
Practica★★★Sense començar
En un joc de Pong per a dos jugadors (pales esquerra i dreta), es detecten aquests errors d'interacció: 1. En sobrepassar la pala, la pilota rebota a la vora del darrere…

En un joc de Pong per a dos jugadors (pales esquerra i dreta), es detecten aquests errors d'interacció:

  1. En sobrepassar la pala, la pilota rebota a la vora del darrere i suma diversos punts consecutius abans que es reiniciï el punt.

  2. Mentre la pilota torna al centre després d'un punt, els jugadors poden continuar colpejant-la sumant punts falsos.

  3. Si la pilota frega la part del darrere de la pala quan aquesta puja ràpidament, la pilota surt disparada cap a dins de la porteria pròpia.

  1. a) Dissenya l'estructura de blocs de la pilota per gestionar el punt: detecció del gol, aturada momentània del joc i comunicació amb els marcadors mitjançant missatges.
  2. b) Dissenya la condició de rebot de la pala perquè només retorni la pilota cap al camp contrari si l'impacte passa a la seva cara frontal, és a dir, quan la pilota es dirigeix cap a la pala.
  3. c) Explica com han de reaccionar les pales i la pilota al missatge de 'nou punt' per reprendre el joc de manera justa i sincronitzada.
Resoldre

Resum

Veure tots els exercicis d'aquest apartat