Solució del lliurament 1 G50 d’Ampliació d’Informàtica¶
- Organització:
Secció ETSEIB, Departament de Ciències de la Computació, UPC
- Data:
11 d’octubre de 2023
- Durada:
30 minuts
- Copyright:
Reconeixement-CompartirIgual 3.0 No adaptada de Creative Commons
Jocs de proves
Tests per dif_finites¶
>>> from diferencies import dif_finites
>>> punts = iter([(4, 10), (5, 8), (6, 9), (7, 12), (8, 10)])
>>> it = dif_finites(punts)
>>> list(it), next(it, 'final') # doctesttag: +TAG=1_difin
([(4, 10), (5, 8, -2), (6, 9, 1), (7, 12, 3), (8, 10, -2)], 'final')
>>> punts1 = iter([(0, -4), (1, -1), (3, 0), (4, 2), (5, 3), (6, 6)])
>>> it1 = dif_finites(punts1)
>>> list(it1), next(it1, 'final') # doctesttag: +TAG=1_difin
([(0, -4), (1, -1, 3), (3, 0, 1), (4, 2, 2), (5, 3, 1), (6, 6, 3)], 'final')
>>> punts2 = iter([(-15, -12), (-14, -17), (-13, -20), (-12, -15)])
>>> it2 = dif_finites(punts2)
>>> list(it2), next(it, 'final') # doctesttag: +TAG=1_difin
([(-15, -12), (-14, -17, -5), (-13, -20, -3), (-12, -15, 5)], 'final')
>>> punts3 = iter([(-3, -20), (-2, -23), (-1, -20), (0, -25), (1, -27), (2, -28), (3, -26), (4, -18), (5, -20), (6, -17), (7, -12), (8, -15)])
>>> it3 = dif_finites(punts3)
>>> list(it3), next(it1, 'final') # doctesttag: +TAG=1_difin
([(-3, -20), (-2, -23, -3), (-1, -20, 3), (0, -25, -5), (1, -27, -2), (2, -28, -1), (3, -26, 2), (4, -18, 8), (5, -20, -2), (6, -17, 3), (7, -12, 5), (8, -15, -3)], 'final')
>>> punts4 = iter([(-4, -120), (-2, -123), (-1, -200), (0, -251), (1, -270), (2, -281), (3, -265), (4, -184), (5, -209), (6, -178), (7, -127), (8, -156)])
>>> it4 = dif_finites(punts4)
>>> list(it4), next(it1, 'final') # doctesttag: +TAG=1_difin
([(-4, -120), (-2, -123, -3), (-1, -200, -77), (0, -251, -51), (1, -270, -19), (2, -281, -11), (3, -265, 16), (4, -184, 81), (5, -209, -25), (6, -178, 31), (7, -127, 51), (8, -156, -29)], 'final')
>>> punts5 = iter([(-3, -520), (-2, -620), (-1, -521), (0, -625), (1, -527), (2, -628), (3, -526), (4, -618), (5, -720), (6, -617), (7, -512), (8, -415)])
>>> it5 = dif_finites(punts5)
>>> list(it5), next(it1, 'final') # doctesttag: +TAG=1_difin
([(-3, -520), (-2, -620, -100), (-1, -521, 99), (0, -625, -104), (1, -527, 98), (2, -628, -101), (3, -526, 102), (4, -618, -92), (5, -720, -102), (6, -617, 103), (7, -512, 105), (8, -415, 97)], 'final')
>>> punts6 = iter([(0, 40), (1, 31), (3, 20), (4, 12), (5, 13), (6, 6)])
>>> it6 = dif_finites(punts6)
>>> list(it6), next(it6, 'final') # doctesttag: +TAG=1_difin
([(0, 40), (1, 31, -9), (3, 20, -11), (4, 12, -8), (5, 13, 1), (6, 6, -7)], 'final')
>>> punts7 = iter([(0, 84), (1, 71), (3, 60), (4, 52), (5, 43), (6, 36)])
>>> it7 = dif_finites(punts7)
>>> list(it7), next(it7, 'final') # doctesttag: +TAG=1_difin
([(0, 84), (1, 71, -13), (3, 60, -11), (4, 52, -8), (5, 43, -9), (6, 36, -7)], 'final')
Tests per incrementa_preus¶
>>> from preus import incrementa_preus
>>> inc1 = iter([-10, 12, -14, 13, 15])
>>> it1 = incrementa_preus(128, inc1)
>>> list(it1), next(it1, 'final') # doctesttag: +TAG=2_incp
([118, 130, 116, 129, 144], 'final')
>>> inc2 = iter([10, -2, 20, -22, 5, 5, 8, -4])
>>> it2 = incrementa_preus(255, inc2)
>>> list(it2), next(it2, 'final') # doctesttag: +TAG=2_incp
([265, 263, 283, 261, 266, 271, 279, 275], 'final')
>>> inc3 = iter([31, 30, -31, 32, -27, -4, 10, 12])
>>> it3 = incrementa_preus(350, inc3)
>>> list(it3), next(it3, 'final') # doctesttag: +TAG=2_incp
([381, 411, 380, 412, 385, 381, 391, 403], 'final')
>>> inc4 = iter([3, 4, 5, 1, 2, 5, -2, -3, 5, 1, 0, 2, 3, -1, 4, 2, 0, 1, 2])
>>> it4 = incrementa_preus(12, inc4)
>>> list(it4), next(it4, 'final') # doctesttag: +TAG=2_incp
([15, 19, 24, 25, 27, 32, 30, 27, 32, 33, 33, 35, 38, 37, 41, 43, 43, 44, 46], 'final')
>>> inc5 = iter([-10, 12, -14, 13, 15])
>>> it5 = incrementa_preus(149, inc5)
>>> list(it5), next(it5, 'final') # doctesttag: +TAG=2_incp
([139, 151, 137, 150, 165], 'final')
>>> inc6 = iter([10, -2, 20, -22, 5, 5, 8, -4])
>>> it6 = incrementa_preus(210, inc6)
>>> list(it6), next(it6, 'final') # doctesttag: +TAG=2_incp
([220, 218, 238, 216, 221, 226, 234, 230], 'final')
>>> inc7 = iter([31, 30, -31, 32, -27, -4, 10, 12])
>>> it7 = incrementa_preus(290, inc7)
>>> list(it7), next(it7, 'final') # doctesttag: +TAG=2_incp
([321, 351, 320, 352, 325, 321, 331, 343], 'final')
>>> inc8 = iter([3, 4, 5, 1, 2, 5, -2, -3, 5, 1, 0, 2, 3, -1, 4, 2, 0, 1, 2])
>>> it8 = incrementa_preus(15, inc8)
>>> list(it8), next(it8, 'final') # doctesttag: +TAG=2_incp
([18, 22, 27, 28, 30, 35, 33, 30, 35, 36, 36, 38, 41, 40, 44, 46, 46, 47, 49], 'final')