Exercici 1
Fes la traça de l'algorisme següent per a la llista L = (3, −2, 7, −5, 0, 4, −1) i digues què mostra:
s ← 0
c ← 0
per cada x de L
si x > 0 llavors s ← s + x
si no, si x < 0 llavors c ← c + 1
mostra s i c
a) Anota els valors de s i c després de tractar cada element.
b) Què calcula s i què calcula c?
c) Què passa amb el 0? Quina modificació caldria si volguéssim comptar-lo amb els negatius?
Mira la solucióAmaga la solucióde l'exercici 1
Apartat a)
Resultat
Resolució
- Dades. Comences amb s = 0 i c = 0 i tractes els elements de L en ordre: si x > 0, sumes x a s; si no, si x < 0, sumes 1 a c.
- Traça.
x s c 3 3 0 −2 3 1 7 10 1 −5 10 2 0 10 2 4 14 2 −1 14 3 - El 0. Quan x = 0 no es compleix cap de les dues condicions, i s i c no canvien.
- Conclusió. En acabar la llista, l'algorisme mostra s = 14 i c = 3.
Apartat b)
Resultat
Resolució
- Què fa s. Només canvia quan x > 0, i hi suma el valor de x: s = 3 + 7 + 4 = 14.
- Què fa c. Només canvia quan x < 0, i hi suma 1 (no el valor): és un comptador dels negatius −2, −5 i −1.
- Conclusió. s acumula la suma dels positius i c compta quants negatius hi ha.
Apartat c)
Resultat
Resolució
- El 0. El 0 no és ni positiu ni negatiu: no compleix x > 0 ni x < 0, de manera que no modifica ni s ni c.
- Modificació. Canvia la segona condició per «si no, si x ≤ 0 llavors c ← c + 1».
- Nou resultat. Ara c compta −2, −5, 0 i −1, és a dir c = 4, i s continua valent 14.
Nivell Batxillerat: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa