1. Diferències finites (5 punts)¶
Avís
Per a resoldre aquest exercici no es poden fer servir llistes, tuples, diccionaris ni cap altra estructura de dades per a desar els elements d’un iterador.
Donada una seqüència de tuples de 2 enters que representen les coordenades dels punts d’una funció matemàtica, \((x_i, y_i), i\ge1\), definim la diferència finita del punt i-èssim com \(d_i = y_i - y_{i-1}, i\ge2\)
Es demana que, en un fitxer anomenat diferencies.py, hi deseu la funció generadora especificada a continuació:
- diferencies.dif_finites(it)¶
- Paràmetres:
it – iterador sobre una seqüencia no buida de tuples de dos enters, \((x_i, y_i), i\ge1\)
- Retorna:
iterador que genera la seqüència següent: el primer element és el primer punt, \((x_1, y_1)\) de it (tuple de 2 enters); a partir del segon element són tuples de 3 enters de la forma: \((x_i, y_i, d_i), d_i = y_i - y_{i-1}, i\ge2\)
Per exemple:
>>> punts = iter([(6, 6), (7, 7), (8, 10)])
>>> it = dif_finites(punts)
>>> next(it)
(6, 6)
>>> next(it)
(7, 7, 1)
>>> next(it)
(8, 10, 3)
>>> next(it, 'final')
'final'
Disposeu d’un joc de proves més complet en el fitxer tests-dif_finites.txt