Solució del lliurament 1 G20 d’Ampliació d’Informàtica

Organització:

Secció ETSEIB, Departament de Ciències de la Computació, UPC

Data:

29 de setembre de 2025

Durada:

30 minuts

Copyright:

Reconeixement-CompartirIgual 3.0 No adaptada de Creative Commons

Jocs de proves

Els exemples que compten per la nota són només els que van seguits de

# doctesttag: +TAG=...

>>> from itertools import *

Tests exercici 1

>>> from temperatura import canvi_temp
>>> it= iter([(1, 4), (2, 4), (3, 4), (4, 4), (5, 5), (6, 10), (7, 10)])
>>> itt= canvi_temp(it, 1)
>>> next(itt)   # doctesttag: +TAG=1_canvi_temp
6
>>> next(itt)  # doctesttag: +TAG=1_canvi_temp
7
>>> next(itt,'final' )  # doctesttag: +TAG=1_canvi_temp
'final'
>>> it1= iter([(1, 4), (2, 4), (3, 5), (4, 5), (5, 8), (6, 9), (7, 8), (8, 10), (9, 10), (10, 11), (11, 12), (12, 15), (13, 16), (14, 16), (15, 18), (16, 20)])
>>> itc= canvi_temp(it1, 2)
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
5
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
6
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
12
>>> for x in itc:
...   print(x, end=',')  # doctesttag: +TAG=1_canvi_temp
13,16,
>>> it1= iter([(1, 4), (2, 4), (3, 5), (4, 5), (5, 8), (6, 9), (7, 8), (8, 10), (9, 10), (10, 11), (11, 12), (12, 15), (13, 16), (14, 16), (15, 18), (16, 20)])
>>> itc= canvi_temp(it1, 1)
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
5
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
6
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
8
>>> for x in itc:
...   print(x, end=',')  # doctesttag: +TAG=1_canvi_temp
11,12,13,15,16,
>>> it1= iter([(1, 10), (2, 15), (3, 15), (4, 15), (5, 18), (6, 19), (7, 18), (8, 21),  (9, 21), (10, 25), (11, 27), (12, 20)])
>>> itc= canvi_temp(it1, 3)
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
10
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
11
>>> next(itc)  # doctesttag: +TAG=1_canvi_temp
12
>>> for x in itc: # doctesttag: +TAG=1_canvi_temp
...   print(x, end=',')

Tests exercici 2

>>> from maxim_divisor import divmax
>>> it = iter([10, 22, 13])
>>> it2 = divmax(it)
>>> next(it2)  # doctesttag: +TAG=2_divmax
5
>>> next(it2)  # doctesttag: +TAG=2_divmax
11
>>> next(it2)  # doctesttag: +TAG=2_divmax
1
>>> next(it2, 'final')  # doctesttag: +TAG=2_divmax
'final'
>>> it = iter([100, 412, 53, 514, 5, 6, 23, 45, 55])
>>> it2 = divmax(it)
>>> next(it2)  # doctesttag: +TAG=2_divmax
50
>>> next(it2)  # doctesttag: +TAG=2_divmax
206
>>> next(it2)  # doctesttag: +TAG=2_divmax
1
>>> for x in it2:
...   print(x, end=',')  # doctesttag: +TAG=2_divmax
257,1,3,1,15,11,
>>> it = iter(range(19, 999, 4))
>>> it2 = divmax(it)
>>> next(it2)  # doctesttag: +TAG=2_divmax
1
>>> next(it2)  # doctesttag: +TAG=2_divmax
1
>>> next(it2)  # doctesttag: +TAG=2_divmax
9
>>> for x in it2:
...   print(x, end=',')  # doctesttag: +TAG=2_divmax
1,7,13,1,1,17,11,1,21,1,1,25,1,1,29,13,19,33,1,1,37,23,17,41,1,1,45,1,13,49,1,31,53,1,1,57,35,1,61,17,1,65,1,29,69,1,43,73,1,1,77,47,1,81,19,1,85,37,1,89,1,55,93,1,41,97,59,23,101,1,1,105,29,19,109,1,67,113,49,1,117,71,1,121,1,53,125,1,1,129,23,79,133,31,37,137,83,1,141,61,1,145,1,1,149,41,91,153,1,1,157,95,1,161,1,1,165,1,1,169,73,103,173,1,31,177,107,77,181,1,29,185,43,1,189,1,115,193,53,1,197,119,1,201,1,47,205,1,89,209,1,127,213,1,1,217,131,1,221,29,61,225,97,1,229,1,139,233,37,101,237,143,1,241,1,43,245,1,1,249,1,151,253,109,59,257,155,41,261,1,113,265,47,73,269,1,163,273,1,1,277,167,1,281,121,37,285,1,1,289,67,175,293,1,1,297,179,31,301,1,1,305,1,71,309,133,187,313,41,1,317,191,137,321,1,1,325,89,1,329,1,199,