Salta al contingut

Exercicis de programació per blocs — Tecnologia i Digitalització 2n ESO

Programar és donar instruccions precises a un ordinador, i aquests exercicis t'ho fan practicar amb paraules i amb blocs. Primer escrius algorismes ordenats per a tasques quotidianes, com travessar un pas de vianants, i expliques quines característiques ha de tenir un bon algorisme. Després treballes les estructures de control: la seqüència, els bucles i els condicionals «si... llavors... si no». Al final descrius programes de Scratch amb variables i esdeveniments, per exemple un comptador de punts en un joc. Errors freqüents: confondre el bucle «per sempre» amb «repeteix N vegades» i escriure algorismes amb passos ambigus o sense final.

Nivell bàsic

1

Exercici 1

Digues quines tres característiques ha de tenir un bon algorisme.

Mostra la solució

Ha de ser ordenat (els passos van en un ordre concret), precís (cada pas és clar i sense ambigüitats) i finit (té un principi i un final, no s'allarga per sempre).

2

Exercici 2

Digues quina estructura (seqüència, bucle o condicional) correspon a cada cas: (a) fer parpellejar un llum per sempre; (b) fer tres accions una rere l'altra.

Mostra la solució

(a) Fer parpellejar un llum sense parar és repetir contínuament: és un bucle (per sempre). (b) Fer tres accions una rere l'altra en ordre és una seqüència.

3

Exercici 3

Explica què és una variable i posa un exemple d'un joc on en faries servir una.

Mostra la solució

Una variable és un espai amb nom que guarda un valor que pot canviar mentre s'executa el programa. Per exemple, en un joc de plataformes faria servir una variable 'vides' que comença a 3 i li resto 1 cada cop que el personatge toca un enemic.

4

Exercici 4

Un personatge de Scratch ha de dibuixar un quadrat. Quants graus ha de girar a cada cantonada i quantes vegades ha de repetir «mou i gira»?

Mostra la solució

Un quadrat té quatre costats iguals i quatre angles rectes.
A cada cantonada ha de girar 90 graus.
Cal repetir «mou i gira» 4 vegades.
Comprovació: 4 · 90° = 360°, una volta completa.

5

Exercici 5

Relaciona cada bloc de Scratch amb la seva categoria: «mou 10 passos», «digues Hola!», «quan es fa clic a la bandera verda» i «repeteix 5 vegades». Categories: moviment, aspecte, esdeveniments, control.

Mostra la solució

«mou 10 passos» → moviment.
«digues Hola!» → aspecte (és un bloc d'aparença).
«quan es fa clic a la bandera verda» → esdeveniments.
«repeteix 5 vegades» → control (bucle).

6

Exercici 6

Explica la diferència entre l'escenari, un objecte (sprite) i una disfressa a Scratch.

Mostra la solució

L'escenari és el fons on passa l'acció, i també pot tenir programes.
Un objecte (sprite) és un personatge o element que es mou i té els seus propis blocs.
Una disfressa és cadascuna de les imatges que pot tenir un objecte; canviar de disfressa fa que sembli que es mogui.

7

Exercici 7

Classifica aquests valors segons el tipus de dada: 25, «Hola», 3,5 i cert (una pregunta com «tocant el color vermell?» pot donar cert o fals).

Mostra la solució

25 → un nombre (enter).
3,5 → un nombre (decimal).
«Hola» → un text (cadena de caràcters).
cert → un valor booleà (cert o fals), que és el que retornen les condicions.

8

Exercici 8

A Scratch, la variable «punts» val 7. Quant val «punts · 2 + 1»? I quant valdria «punts» si després s'executa «canvia punts en -3»?

Mostra la solució

Primer es multiplica: 7 · 2 = 14, i després se suma 1: 14 + 1 = 15.
Amb «canvia punts en -3», la variable passa de 7 a 7 - 3 = 4.
L'expressió no modifica la variable; només el bloc «canvia» o «fixa» ho fa.

9

Exercici 9

Ordena aquests blocs perquè l'objecte avanci 50 passos i després giri 90 graus quan es faci clic a la bandera verda: (a) mou 50 passos; (b) gira 90 graus; (c) quan es fa clic a la bandera verda.

Mostra la solució

L'ordre correcte és: (c), (a), (b).
Primer va el bloc d'esdeveniment, que és el que inicia el programa.
Després s'executen els blocs en seqüència, de dalt a baix: primer mou 50 passos i després gira 90 graus.

10

Exercici 10

Què és un error (bug) en un programa i què vol dir depurar? Si un personatge va cap a l'esquerra en prémer la fletxa dreta, quin podria ser l'error?

Mostra la solució

Un bug és un error que fa que el programa no faci el que s'esperava. Depurar és buscar-lo i corregir-lo, provant el programa pas a pas.
En aquest cas, probablement el bloc mou el personatge cap a una direcció negativa (per exemple «canvia x en -10») en lloc de positiva, o s'ha associat la tecla equivocada.
Es corregeix posant «canvia x en 10».

Nivell intermedi

11

Exercici 11

Associa cada símbol de diagrama de flux amb el seu significat: òval, rectangle, rombe.

Mostra la solució

L'òval indica l'inici o el final del programa; el rectangle representa una acció o instrucció; el rombe representa una decisió (una pregunta de sí o no de la qual surten dos camins).

12

Exercici 12

Escriu, en forma d'algorisme ordenat, els passos per travessar un carrer amb semàfor de vianants.

Mostra la solució
  1. Acosta't al pas de vianants i atura't a la vora. 2. Mira el semàfor de vianants. 3. Si està vermell, espera. 4. Quan es posi verd, mira a banda i banda. 5. Travessa el carrer caminant. 6. Arriba a l'altra vorera. És ordenat, precís i finit.
13

Exercici 13

Explica la diferència entre un bucle 'repeteix 10 vegades' i un bucle 'per sempre'.

Mostra la solució

El bucle 'repeteix 10 vegades' fa les instruccions exactament deu cops i després s'atura i continua amb la resta del programa. El bucle 'per sempre' repeteix les instruccions sense parar, fins que s'atura tot el programa, així que mai no passa al que hi ha després.

14

Exercici 14

Escriu amb paraules un condicional 'si... llavors... si no' per a un joc: si el personatge toca un enemic, perd una vida; en cas contrari, continua.

Mostra la solució

Si (el personatge toca un enemic) llavors resta 1 a les vides; si no, continua movent-se. La condició que es comprova és 'toco un enemic?'; si és certa es fa una cosa (perdre una vida) i si és falsa se'n fa una altra (seguir).

15

Exercici 15

Digues quin esdeveniment de Scratch faries servir en cada cas: (a) engegar el programa; (b) moure el personatge amb el teclat.

Mostra la solució

(a) Per engegar el programa, l'esdeveniment 'quan es fa clic a la bandera verda'. (b) Per moure el personatge amb el teclat, l'esdeveniment 'quan es prem una tecla' (per exemple, la fletxa dreta).

16

Exercici 16

Descriu, amb blocs de Scratch en paraules, un programa que sumi 1 a la variable 'punts' cada cop que es prem la barra espaiadora.

Mostra la solució

Faria servir l'esdeveniment 'quan es prem la tecla espai' com a barret, i just a sota el bloc 'canvia punts en 1'. Així, cada cop que es prem la barra espaiadora es dispara l'esdeveniment i la variable 'punts' augmenta d'un en un.

17

Exercici 17

Un objecte executa «repeteix 4 vegades: mou 100 passos, gira 90 graus». Quin dibuix fa i quants passos recorre en total? Què caldria canviar per fer un triangle equilàter?

Mostra la solució

Dibuixa un quadrat de 100 passos de costat.
Recorregut total: 4 · 100 = 400 passos.
Per fer un triangle equilàter cal repetir 3 vegades i girar 120 graus (3603=120\tfrac{360}{3} = 120).

18

Exercici 18

La variable «punts» val 0. S'executa: repeteix 5 vegades [canvia punts en 3; si punts > 10 llavors digues «Molt bé!»]. Fes una traça de cada volta i digues quantes vegades surt el missatge i quant val «punts» al final.

Mostra la solució

Volta 1: punts = 3, no passa res.
Volta 2: punts = 6, no passa res.
Volta 3: punts = 9, no passa res.
Volta 4: punts = 12 > 10, diu «Molt bé!».
Volta 5: punts = 15 > 10, diu «Molt bé!».
El missatge surt 2 vegades i «punts» val 15 al final.

19

Exercici 19

Una màquina de cinema deixa entrar si (edat ≥ 12) i (edat ≤ 17). Indica què passa amb edats de 12, 17 i 18. Per què s'usa l'operador «i» i no «o»?

Mostra la solució

Edat 12: 12 ≥ 12 és cert i 12 ≤ 17 és cert, així que entra.
Edat 17: 17 ≥ 12 és cert i 17 ≤ 17 és cert, així que entra.
Edat 18: 18 ≥ 12 és cert però 18 ≤ 17 és fals, així que no entra.
Amb «i» han de ser certes les dues condicions. Amb «o» bastaria una, i entraria tothom, perquè qualsevol edat compleix almenys una de les dues.

20

Exercici 20

Dos objectes d'un joc, un gat i un ratolí, han de coordinar-se: quan el gat toca el ratolí, aquest ha de desaparèixer. Explica com ho faries amb missatges (difusió) a Scratch.

Mostra la solució

El gat té el bloc «si toca el ratolí, llavors envia el missatge atrapat» dins d'un bucle «per sempre».
El ratolí té el bloc «quan rebis el missatge atrapat» seguit de «amaga».
Així cada objecte només sap fer la seva part i el missatge els connecta.

21

Exercici 21

El bloc «escull un nombre aleatori entre 1 i 6» simula un dau. Quins valors pot donar? Pot sortir el 7 o un 2,5? Com ho faries per simular un dau de 12 cares?

Mostra la solució

Pot donar qualsevol enter de 1 a 6, tots amb la mateixa possibilitat.
No pot sortir 7 perquè està fora del rang; i com que els dos límits són enters, el resultat també és un enter, així que no pot sortir 2,5.
Per a un dau de 12 cares, es canvia a «escull un nombre aleatori entre 1 i 12».

Nivell avançat

22

Exercici 22

Fes una traça d'aquest programa: total = 0; per a n de 1 a 10: si (n mod 2) = 0 llavors total = total + n. Quant val total al final? Què calcula el programa?

Mostra la solució

«n mod 2» és el residu de dividir n entre 2, que és 0 si n és parell.
Només se sumen els nombres parells: 2 + 4 + 6 + 8 + 10 = 30.
Total = 30 al final.
El programa suma els nombres parells de l'1 al 10.

23

Exercici 23

Descriu amb blocs (en pseudocodi) un joc en què l'ordinador pensa un nombre del 1 al 20 i el jugador l'ha d'endevinar. Cal dir «massa alt», «massa baix» o «correcte».

Mostra la solució

1) Fixa «secret» a un nombre aleatori entre 1 i 20.
2) Repeteix fins que (resposta = secret):
  pregunta «Quin nombre és?» i desa la resposta;
  si resposta > secret, digues «massa alt»;
  si resposta < secret, digues «massa baix».
3) Digues «Correcte!».
Es necessita una variable, un bucle i dos condicionals.

24

Exercici 24

Un programa fa «repeteix 10 vegades: mou 10 passos» i un altre fa «mou 100 passos». Fan el mateix? Què passa si ara es vol que avanci 250 passos en trams de 10? Explica l'avantatge dels bucles.

Mostra la solució

En el resultat final sí, avança 100 passos, però el primer ho fa en 10 trams i es veu avançar; el segon salta de cop.
Per a 250 passos en trams de 10, n'hi ha prou de canviar 10 per 25 (25 · 10 = 250).
El bucle evita repetir blocs, fa el programa més curt i més fàcil de modificar.

25

Exercici 25

Corregeix l'error: «Quan es fa clic a la bandera verda: si tecla fletxa dreta premuda, llavors canvia x en 10». L'alumne diu que el personatge només es mou un cop i no continua movent-se.

Mostra la solució

L'error és que el condicional s'executa només una vegada, just en iniciar el programa, i en aquell moment la tecla probablement no està premuda.
Solució: posar el «si» dins d'un bucle «per sempre» perquè es comprovi contínuament.
Alternativa: usar l'esdeveniment «quan es prem la tecla fletxa dreta».

26

Exercici 26

Un joc té vides = 3. Cada cop que l'heroi toca un enemic, vides baixa en 1; si vides = 0, diu «Fi del joc» i atura el programa. Si l'heroi toca enemics repetidament, en quin toc s'acaba el joc? Fes la traça.

Mostra la solució

Toc 1: vides = 2. Toc 2: vides = 1. Toc 3: vides = 0, es compleix «vides = 0» i diu «Fi del joc».
El joc s'acaba al toc 3.
El programa s'atura, així que un possible toc 4 ja no s'arriba a produir.
Cal comprovar la condició després de restar, i no abans.

27

Exercici 27

Dissenya, amb variables i un bucle, un programa que calculi la suma dels nombres de l'1 al n. Fes la traça per a n = 5 i digues el resultat per a n = 100.

Mostra la solució

Variables: suma = 0 i i = 1.
Repeteix n vegades: suma = suma + i; i = i + 1.
Per a n = 5: 0+1 = 1; 1+2 = 3; 3+3 = 6; 6+4 = 10; 10+5 = 15.
Per a n = 100: 1 + 2 + ... + 100 = 100 · 1012=5050\tfrac{101}{2} = 5050.

28

Exercici 28

Una variable «i» va de l'1 al 5 i a cada volta es diu «i · i». Quins nombres es diran? Com canviaries el programa perquè només digui els resultats parells?

Mostra la solució

Els valors són 1, 4, 9, 16 i 25.
Per dir només els parells s'afegeix un condicional dins del bucle: si (i · i) mod 2 = 0, llavors digues i · i.
Només se'n diran 4 i 16.

29

Exercici 29

Descriu un diagrama de flux que decideixi si un nombre és parell o senar. Indica quins símbols hi has de posar i prova'l amb 7 i amb 12.

Mostra la solució

Inici (òval) → llegir el nombre N (paral·lelogram o rectangle) → decisió (rombe): «N mod 2 = 0?».
Si és sí, escriure «parell»; si és no, escriure «senar»; i finalment Fi (òval).
Prova N = 7: 7 mod 2 = 1, no és 0, per tant és senar.
Prova N = 12: 12 mod 2 = 0, per tant és parell.

30

Exercici 30

Analitza el programa: repeteix 4 vegades [repeteix 3 vegades [mou 10 passos]; gira 90 graus]. Quants passos fa en total, quina figura dibuixa i de quina mida?

Mostra la solució

El bucle interior fa 3 · 10 = 30 passos recte.
El bucle exterior repeteix 4 vegades «30 passos i gir de 90 graus».
Total: 4 · 30 = 120 passos.
Dibuixa un quadrat de 30 passos de costat. Els bucles niuats multipliquen les repeticions.

T'encalles amb aquest tema?

A L'Acadèmia de Vic t'ajudem amb classes individuals. Escriu-nos per WhatsApp.

Escriu-nos per WhatsApp (604 95 79 95)

Més informació: Reforç d'ESO a Vic · Classes particulars

Preguntes freqüents

Què és una variable en programació?

Un espai de memòria amb un nom que guarda un valor que pot canviar mentre s'executa el programa, com els punts o les vides d'un joc.

Quina diferència hi ha entre «per sempre» i «repeteix 10 vegades»?

«Repeteix 10 vegades» executa els blocs un nombre fix de cops i continua. «Per sempre» no s'acaba mai, fins que atures el programa.

Altres temes de Tecnologia i Digitalització 2n ESO

Utilitzem cookies d'analítica per millorar el web. Política

base44
Edit with Base44