1. Variació en les mesures (2 punts)¶
Un sensor mesura el nivell d’un determinat compost que va pujant al
llarg del dia. Volem detectar en quin moment ha experimentat
una pujada massa sobtada. Les mesures del sensor es desen en una
llista de float. La llista contindrà dues mesures com a
mínim.
Per exemple:
>>> s = [3.0, 3.01, 3.04, 3.05, 3.08, 3.1, 3.15]
Per tal d’especificar la funció que es demana definim els següents conceptes:
Variació de mesures: és la diferència entre dues mesures consecutives.
Variació alarmant respecte a un llindar és una variació de mesures que és més gran que el llindar donat.
La posició d’una variació alarmant és la posició (entesa com a les llistes de Python) de la primera de les dues mesures que intervé en aquesta variació. A l’exemple, tenim que per un llindar de
0.06, la llistasno té cap variació alarmant. Ara bé, per un llindar de0.04en té una a la posició 5. I per un llindar de0.02en té quatre, a les posicions 1, 3, 4 i 5.
Es demana que al mòdul variacions (fitxer
variacions.py) facis la funció següent:
- variacions.var_prim(msL, varll)¶
tal que
Aquí tens un exemple:
>>> from variacions import var_prim >>> r = var_prim([2.0, 2.03, 2.04], 0.04) >>> r -1 >>> r = var_prim([3.0, 3.01, 3.04, 3.05, 3.08, 3.1, 3.15], 0.04) >>> r 5 >>> r = var_prim([4.01, 4.02, 4.03, 4.04, 4.08, 4.12], 0.04) >>> r 3 >>> r = var_prim([1.96, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08], 0.06) >>> r 0 >>> r = var_prim([3.0, 3.01, 3.02, 3.09, 3.1, 3.2], 0.06) >>> r 2 >>> r = var_prim([4.017, 4.02, 4.03, 4.04, 4.08, 4.12, 4.15], 0.005) >>> r 1
Disposes dels jocs de proves al fitxer
test-var_prim.txt.