Extra2 added (Ex1 only)

This commit is contained in:
TiagoRG 2022-12-21 10:38:38 +00:00
parent baf21db117
commit 5e23c94c71
Signed by untrusted user who does not match committer: TiagoRG
GPG Key ID: DFCD48E3F420DB42
8 changed files with 665 additions and 0 deletions

117
1ano/fp/extra2/Jogos.csv Normal file
View File

@ -0,0 +1,117 @@
15/08/14,Porto,Maritimo,2,0
16/08/14,Academica,Sp Lisbon,1,1
16/08/14,Gil Vicente,Guimaraes,1,3
17/08/14,Benfica,Pacos Ferreira,2,0
17/08/14,Nacional,Moreirense,0,1
17/08/14,Penafiel,Belenenses,1,3
17/08/14,Rio Ave,Setubal,2,0
17/08/14,Sp Braga,Boavista,3,0
18/08/14,Arouca,Estoril,1,1
22/08/14,Guimaraes,Penafiel,3,0
23/08/14,Maritimo,Academica,2,1
23/08/14,Pacos Ferreira,Porto,0,1
23/08/14,Sp Lisbon,Arouca,1,0
24/08/14,Belenenses,Nacional,3,1
24/08/14,Boavista,Benfica,0,1
24/08/14,Estoril,Rio Ave,1,5
24/08/14,Setubal,Gil Vicente,2,0
25/08/14,Moreirense,Sp Braga,0,0
29/08/14,Academica,Setubal,1,1
30/08/14,Belenenses,Guimaraes,0,3
30/08/14,Sp Braga,Estoril,2,1
31/08/14,Benfica,Sp Lisbon,1,1
31/08/14,Gil Vicente,Maritimo,1,2
31/08/14,Nacional,Arouca,2,0
31/08/14,Penafiel,Pacos Ferreira,0,1
31/08/14,Porto,Moreirense,3,0
01/09/14,Rio Ave,Boavista,4,0
12/09/14,Setubal,Benfica,0,5
13/09/14,Arouca,Sp Braga,1,0
13/09/14,Moreirense,Rio Ave,1,1
13/09/14,Sp Lisbon,Belenenses,1,1
14/09/14,Boavista,Academica,1,0
14/09/14,Estoril,Nacional,2,1
14/09/14,Guimaraes,Porto,1,1
14/09/14,Maritimo,Penafiel,2,0
14/09/14,Pacos Ferreira,Gil Vicente,1,1
19/09/14,Guimaraes,Pacos Ferreira,1,1
20/09/14,Nacional,Sp Braga,1,1
20/09/14,Penafiel,Setubal,2,0
21/09/14,Belenenses,Maritimo,1,0
21/09/14,Benfica,Moreirense,3,1
21/09/14,Gil Vicente,Sp Lisbon,0,4
21/09/14,Porto,Boavista,0,0
21/09/14,Rio Ave,Arouca,1,2
22/09/14,Academica,Estoril,2,2
26/09/14,Sp Lisbon,Porto,1,1
27/09/14,Estoril,Benfica,2,3
27/09/14,Sp Braga,Rio Ave,3,0
28/09/14,Arouca,Academica,0,1
28/09/14,Boavista,Gil Vicente,3,2
28/09/14,Maritimo,Guimaraes,4,0
28/09/14,Moreirense,Penafiel,0,0
28/09/14,Setubal,Nacional,2,0
29/09/14,Pacos Ferreira,Belenenses,2,0
03/10/14,Guimaraes,Boavista,3,0
04/10/14,Penafiel,Sp Lisbon,0,4
05/10/14,Academica,Moreirense,0,0
05/10/14,Belenenses,Setubal,1,1
05/10/14,Benfica,Arouca,4,0
05/10/14,Gil Vicente,Estoril,1,1
05/10/14,Nacional,Rio Ave,0,0
05/10/14,Pacos Ferreira,Maritimo,3,2
05/10/14,Porto,Sp Braga,2,1
24/10/14,Setubal,Guimaraes,0,1
25/10/14,Arouca,Porto,0,5
25/10/14,Boavista,Pacos Ferreira,1,2
25/10/14,Moreirense,Gil Vicente,2,0
26/10/14,Estoril,Belenenses,1,2
26/10/14,Nacional,Academica,1,0
26/10/14,Sp Braga,Benfica,2,1
26/10/14,Sp Lisbon,Maritimo,4,2
27/10/14,Rio Ave,Penafiel,3,2
31/10/14,Benfica,Rio Ave,1,0
01/11/14,Guimaraes,Sp Lisbon,3,0
01/11/14,Penafiel,Estoril,1,2
01/11/14,Porto,Nacional,2,0
02/11/14,Academica,Sp Braga,1,1
02/11/14,Gil Vicente,Arouca,1,1
02/11/14,Maritimo,Moreirense,1,2
02/11/14,Pacos Ferreira,Setubal,4,1
03/11/14,Belenenses,Boavista,3,1
07/11/14,Arouca,Guimaraes,1,2
08/11/14,Sp Braga,Gil Vicente,2,0
09/11/14,Boavista,Penafiel,1,0
09/11/14,Estoril,Porto,2,2
09/11/14,Moreirense,Belenenses,0,1
09/11/14,Nacional,Benfica,1,2
09/11/14,Setubal,Maritimo,1,0
09/11/14,Sp Lisbon,Pacos Ferreira,1,1
10/11/14,Rio Ave,Academica,3,0
28/11/14,Guimaraes,Moreirense,2,1
29/11/14,Belenenses,Arouca,0,0
29/11/14,Penafiel,Sp Braga,1,6
29/11/14,Sp Lisbon,Setubal,3,0
30/11/14,Academica,Benfica,0,2
30/11/14,Gil Vicente,Nacional,0,0
30/11/14,Maritimo,Boavista,4,0
30/11/14,Porto,Rio Ave,5,0
01/12/14,Pacos Ferreira,Estoril,1,1
05/12/14,Boavista,Sp Lisbon,1,3
06/12/14,Academica,Porto,0,3
06/12/14,Benfica,Belenenses,3,0
06/12/14,Estoril,Setubal,1,0
06/12/14,Rio Ave,Gil Vicente,0,0
07/12/14,Arouca,Penafiel,0,1
07/12/14,Moreirense,Pacos Ferreira,2,0
07/12/14,Sp Braga,Guimaraes,0,0
08/12/14,Nacional,Maritimo,3,0
12/12/14,Setubal,Boavista,0,1
13/12/14,Belenenses,Sp Braga,0,1
13/12/14,Gil Vicente,Academica,1,1
13/12/14,Pacos Ferreira,Arouca,2,1
13/12/14,Penafiel,Nacional,2,1
14/12/14,Guimaraes,Rio Ave,0,0
14/12/14,Maritimo,Estoril,0,0
14/12/14,Porto,Benfica,0,2
14/12/14,Sp Lisbon,Moreirense,1,1
1 15/08/14 Porto Maritimo 2 0
2 16/08/14 Academica Sp Lisbon 1 1
3 16/08/14 Gil Vicente Guimaraes 1 3
4 17/08/14 Benfica Pacos Ferreira 2 0
5 17/08/14 Nacional Moreirense 0 1
6 17/08/14 Penafiel Belenenses 1 3
7 17/08/14 Rio Ave Setubal 2 0
8 17/08/14 Sp Braga Boavista 3 0
9 18/08/14 Arouca Estoril 1 1
10 22/08/14 Guimaraes Penafiel 3 0
11 23/08/14 Maritimo Academica 2 1
12 23/08/14 Pacos Ferreira Porto 0 1
13 23/08/14 Sp Lisbon Arouca 1 0
14 24/08/14 Belenenses Nacional 3 1
15 24/08/14 Boavista Benfica 0 1
16 24/08/14 Estoril Rio Ave 1 5
17 24/08/14 Setubal Gil Vicente 2 0
18 25/08/14 Moreirense Sp Braga 0 0
19 29/08/14 Academica Setubal 1 1
20 30/08/14 Belenenses Guimaraes 0 3
21 30/08/14 Sp Braga Estoril 2 1
22 31/08/14 Benfica Sp Lisbon 1 1
23 31/08/14 Gil Vicente Maritimo 1 2
24 31/08/14 Nacional Arouca 2 0
25 31/08/14 Penafiel Pacos Ferreira 0 1
26 31/08/14 Porto Moreirense 3 0
27 01/09/14 Rio Ave Boavista 4 0
28 12/09/14 Setubal Benfica 0 5
29 13/09/14 Arouca Sp Braga 1 0
30 13/09/14 Moreirense Rio Ave 1 1
31 13/09/14 Sp Lisbon Belenenses 1 1
32 14/09/14 Boavista Academica 1 0
33 14/09/14 Estoril Nacional 2 1
34 14/09/14 Guimaraes Porto 1 1
35 14/09/14 Maritimo Penafiel 2 0
36 14/09/14 Pacos Ferreira Gil Vicente 1 1
37 19/09/14 Guimaraes Pacos Ferreira 1 1
38 20/09/14 Nacional Sp Braga 1 1
39 20/09/14 Penafiel Setubal 2 0
40 21/09/14 Belenenses Maritimo 1 0
41 21/09/14 Benfica Moreirense 3 1
42 21/09/14 Gil Vicente Sp Lisbon 0 4
43 21/09/14 Porto Boavista 0 0
44 21/09/14 Rio Ave Arouca 1 2
45 22/09/14 Academica Estoril 2 2
46 26/09/14 Sp Lisbon Porto 1 1
47 27/09/14 Estoril Benfica 2 3
48 27/09/14 Sp Braga Rio Ave 3 0
49 28/09/14 Arouca Academica 0 1
50 28/09/14 Boavista Gil Vicente 3 2
51 28/09/14 Maritimo Guimaraes 4 0
52 28/09/14 Moreirense Penafiel 0 0
53 28/09/14 Setubal Nacional 2 0
54 29/09/14 Pacos Ferreira Belenenses 2 0
55 03/10/14 Guimaraes Boavista 3 0
56 04/10/14 Penafiel Sp Lisbon 0 4
57 05/10/14 Academica Moreirense 0 0
58 05/10/14 Belenenses Setubal 1 1
59 05/10/14 Benfica Arouca 4 0
60 05/10/14 Gil Vicente Estoril 1 1
61 05/10/14 Nacional Rio Ave 0 0
62 05/10/14 Pacos Ferreira Maritimo 3 2
63 05/10/14 Porto Sp Braga 2 1
64 24/10/14 Setubal Guimaraes 0 1
65 25/10/14 Arouca Porto 0 5
66 25/10/14 Boavista Pacos Ferreira 1 2
67 25/10/14 Moreirense Gil Vicente 2 0
68 26/10/14 Estoril Belenenses 1 2
69 26/10/14 Nacional Academica 1 0
70 26/10/14 Sp Braga Benfica 2 1
71 26/10/14 Sp Lisbon Maritimo 4 2
72 27/10/14 Rio Ave Penafiel 3 2
73 31/10/14 Benfica Rio Ave 1 0
74 01/11/14 Guimaraes Sp Lisbon 3 0
75 01/11/14 Penafiel Estoril 1 2
76 01/11/14 Porto Nacional 2 0
77 02/11/14 Academica Sp Braga 1 1
78 02/11/14 Gil Vicente Arouca 1 1
79 02/11/14 Maritimo Moreirense 1 2
80 02/11/14 Pacos Ferreira Setubal 4 1
81 03/11/14 Belenenses Boavista 3 1
82 07/11/14 Arouca Guimaraes 1 2
83 08/11/14 Sp Braga Gil Vicente 2 0
84 09/11/14 Boavista Penafiel 1 0
85 09/11/14 Estoril Porto 2 2
86 09/11/14 Moreirense Belenenses 0 1
87 09/11/14 Nacional Benfica 1 2
88 09/11/14 Setubal Maritimo 1 0
89 09/11/14 Sp Lisbon Pacos Ferreira 1 1
90 10/11/14 Rio Ave Academica 3 0
91 28/11/14 Guimaraes Moreirense 2 1
92 29/11/14 Belenenses Arouca 0 0
93 29/11/14 Penafiel Sp Braga 1 6
94 29/11/14 Sp Lisbon Setubal 3 0
95 30/11/14 Academica Benfica 0 2
96 30/11/14 Gil Vicente Nacional 0 0
97 30/11/14 Maritimo Boavista 4 0
98 30/11/14 Porto Rio Ave 5 0
99 01/12/14 Pacos Ferreira Estoril 1 1
100 05/12/14 Boavista Sp Lisbon 1 3
101 06/12/14 Academica Porto 0 3
102 06/12/14 Benfica Belenenses 3 0
103 06/12/14 Estoril Setubal 1 0
104 06/12/14 Rio Ave Gil Vicente 0 0
105 07/12/14 Arouca Penafiel 0 1
106 07/12/14 Moreirense Pacos Ferreira 2 0
107 07/12/14 Sp Braga Guimaraes 0 0
108 08/12/14 Nacional Maritimo 3 0
109 12/12/14 Setubal Boavista 0 1
110 13/12/14 Belenenses Sp Braga 0 1
111 13/12/14 Gil Vicente Academica 1 1
112 13/12/14 Pacos Ferreira Arouca 2 1
113 13/12/14 Penafiel Nacional 2 1
114 14/12/14 Guimaraes Rio Ave 0 0
115 14/12/14 Maritimo Estoril 0 0
116 14/12/14 Porto Benfica 0 2
117 14/12/14 Sp Lisbon Moreirense 1 1

117
1ano/fp/extra2/Jornadas.csv Normal file
View File

@ -0,0 +1,117 @@
1,Academica,Sp Lisbon
1,Arouca,Estoril
1,Benfica,Pacos Ferreira
1,Gil Vicente,Guimaraes
1,Nacional,Moreirense
1,Penafiel,Belenenses
1,Porto,Maritimo
1,Rio Ave,Setubal
1,Sp Braga,Boavista
2,Belenenses,Nacional
2,Boavista,Benfica
2,Estoril,Rio Ave
2,Guimaraes,Penafiel
2,Maritimo,Academica
2,Moreirense,Sp Braga
2,Pacos Ferreira,Porto
2,Setubal,Gil Vicente
2,Sp Lisbon,Arouca
3,Academica,Setubal
3,Belenenses,Guimaraes
3,Benfica,Sp Lisbon
3,Gil Vicente,Maritimo
3,Nacional,Arouca
3,Penafiel,Pacos Ferreira
3,Porto,Moreirense
3,Rio Ave,Boavista
3,Sp Braga,Estoril
4,Arouca,Sp Braga
4,Boavista,Academica
4,Estoril,Nacional
4,Guimaraes,Porto
4,Maritimo,Penafiel
4,Moreirense,Rio Ave
4,Pacos Ferreira,Gil Vicente
4,Setubal,Benfica
4,Sp Lisbon,Belenenses
5,Academica,Estoril
5,Belenenses,Maritimo
5,Benfica,Moreirense
5,Gil Vicente,Sp Lisbon
5,Guimaraes,Pacos Ferreira
5,Nacional,Sp Braga
5,Penafiel,Setubal
5,Porto,Boavista
5,Rio Ave,Arouca
6,Arouca,Academica
6,Boavista,Gil Vicente
6,Estoril,Benfica
6,Maritimo,Guimaraes
6,Moreirense,Penafiel
6,Pacos Ferreira,Belenenses
6,Setubal,Nacional
6,Sp Braga,Rio Ave
6,Sp Lisbon,Porto
7,Academica,Moreirense
7,Belenenses,Setubal
7,Benfica,Arouca
7,Gil Vicente,Estoril
7,Guimaraes,Boavista
7,Nacional,Rio Ave
7,Pacos Ferreira,Maritimo
7,Penafiel,Sp Lisbon
7,Porto,Sp Braga
8,Arouca,Porto
8,Boavista,Pacos Ferreira
8,Estoril,Belenenses
8,Moreirense,Gil Vicente
8,Nacional,Academica
8,Rio Ave,Penafiel
8,Setubal,Guimaraes
8,Sp Braga,Benfica
8,Sp Lisbon,Maritimo
9,Academica,Sp Braga
9,Belenenses,Boavista
9,Benfica,Rio Ave
9,Gil Vicente,Arouca
9,Guimaraes,Sp Lisbon
9,Maritimo,Moreirense
9,Pacos Ferreira,Setubal
9,Penafiel,Estoril
9,Porto,Nacional
10,Arouca,Guimaraes
10,Boavista,Penafiel
10,Estoril,Porto
10,Moreirense,Belenenses
10,Nacional,Benfica
10,Rio Ave,Academica
10,Setubal,Maritimo
10,Sp Braga,Gil Vicente
10,Sp Lisbon,Pacos Ferreira
11,Academica,Benfica
11,Belenenses,Arouca
11,Gil Vicente,Nacional
11,Guimaraes,Moreirense
11,Maritimo,Boavista
11,Pacos Ferreira,Estoril
11,Penafiel,Sp Braga
11,Porto,Rio Ave
11,Sp Lisbon,Setubal
12,Academica,Porto
12,Arouca,Penafiel
12,Benfica,Belenenses
12,Boavista,Sp Lisbon
12,Estoril,Setubal
12,Moreirense,Pacos Ferreira
12,Nacional,Maritimo
12,Rio Ave,Gil Vicente
12,Sp Braga,Guimaraes
13,Belenenses,Sp Braga
13,Gil Vicente,Academica
13,Guimaraes,Rio Ave
13,Maritimo,Estoril
13,Pacos Ferreira,Arouca
13,Penafiel,Nacional
13,Porto,Benfica
13,Setubal,Boavista
13,Sp Lisbon,Moreirense
1 1 Academica Sp Lisbon
2 1 Arouca Estoril
3 1 Benfica Pacos Ferreira
4 1 Gil Vicente Guimaraes
5 1 Nacional Moreirense
6 1 Penafiel Belenenses
7 1 Porto Maritimo
8 1 Rio Ave Setubal
9 1 Sp Braga Boavista
10 2 Belenenses Nacional
11 2 Boavista Benfica
12 2 Estoril Rio Ave
13 2 Guimaraes Penafiel
14 2 Maritimo Academica
15 2 Moreirense Sp Braga
16 2 Pacos Ferreira Porto
17 2 Setubal Gil Vicente
18 2 Sp Lisbon Arouca
19 3 Academica Setubal
20 3 Belenenses Guimaraes
21 3 Benfica Sp Lisbon
22 3 Gil Vicente Maritimo
23 3 Nacional Arouca
24 3 Penafiel Pacos Ferreira
25 3 Porto Moreirense
26 3 Rio Ave Boavista
27 3 Sp Braga Estoril
28 4 Arouca Sp Braga
29 4 Boavista Academica
30 4 Estoril Nacional
31 4 Guimaraes Porto
32 4 Maritimo Penafiel
33 4 Moreirense Rio Ave
34 4 Pacos Ferreira Gil Vicente
35 4 Setubal Benfica
36 4 Sp Lisbon Belenenses
37 5 Academica Estoril
38 5 Belenenses Maritimo
39 5 Benfica Moreirense
40 5 Gil Vicente Sp Lisbon
41 5 Guimaraes Pacos Ferreira
42 5 Nacional Sp Braga
43 5 Penafiel Setubal
44 5 Porto Boavista
45 5 Rio Ave Arouca
46 6 Arouca Academica
47 6 Boavista Gil Vicente
48 6 Estoril Benfica
49 6 Maritimo Guimaraes
50 6 Moreirense Penafiel
51 6 Pacos Ferreira Belenenses
52 6 Setubal Nacional
53 6 Sp Braga Rio Ave
54 6 Sp Lisbon Porto
55 7 Academica Moreirense
56 7 Belenenses Setubal
57 7 Benfica Arouca
58 7 Gil Vicente Estoril
59 7 Guimaraes Boavista
60 7 Nacional Rio Ave
61 7 Pacos Ferreira Maritimo
62 7 Penafiel Sp Lisbon
63 7 Porto Sp Braga
64 8 Arouca Porto
65 8 Boavista Pacos Ferreira
66 8 Estoril Belenenses
67 8 Moreirense Gil Vicente
68 8 Nacional Academica
69 8 Rio Ave Penafiel
70 8 Setubal Guimaraes
71 8 Sp Braga Benfica
72 8 Sp Lisbon Maritimo
73 9 Academica Sp Braga
74 9 Belenenses Boavista
75 9 Benfica Rio Ave
76 9 Gil Vicente Arouca
77 9 Guimaraes Sp Lisbon
78 9 Maritimo Moreirense
79 9 Pacos Ferreira Setubal
80 9 Penafiel Estoril
81 9 Porto Nacional
82 10 Arouca Guimaraes
83 10 Boavista Penafiel
84 10 Estoril Porto
85 10 Moreirense Belenenses
86 10 Nacional Benfica
87 10 Rio Ave Academica
88 10 Setubal Maritimo
89 10 Sp Braga Gil Vicente
90 10 Sp Lisbon Pacos Ferreira
91 11 Academica Benfica
92 11 Belenenses Arouca
93 11 Gil Vicente Nacional
94 11 Guimaraes Moreirense
95 11 Maritimo Boavista
96 11 Pacos Ferreira Estoril
97 11 Penafiel Sp Braga
98 11 Porto Rio Ave
99 11 Sp Lisbon Setubal
100 12 Academica Porto
101 12 Arouca Penafiel
102 12 Benfica Belenenses
103 12 Boavista Sp Lisbon
104 12 Estoril Setubal
105 12 Moreirense Pacos Ferreira
106 12 Nacional Maritimo
107 12 Rio Ave Gil Vicente
108 12 Sp Braga Guimaraes
109 13 Belenenses Sp Braga
110 13 Gil Vicente Academica
111 13 Guimaraes Rio Ave
112 13 Maritimo Estoril
113 13 Pacos Ferreira Arouca
114 13 Penafiel Nacional
115 13 Porto Benfica
116 13 Setubal Boavista
117 13 Sp Lisbon Moreirense

View File

@ -0,0 +1,100 @@
960373347 +31765214531 60
960373347 960703223 90
930930597 919021596 360
960373347 +81728423983 30
939999868 271055066 234
930930597 960703223 603
934863725 962402153 518
930930597 967705618 163
914293467 934877413 537
934863725 938078294 532
961393096 919021596 129
963970864 228628637 162
930930597 939460329 458
934863725 939747620 445
934863725 934192590 427
914293467 932935286 580
960373347 271055066 330
919274650 939460329 37
961393096 237395357 318
919274650 934877413 470
963970864 934877413 245
962613058 939460329 106
939999868 916747594 401
914293467 +351234872325 52
913862602 934877413 130
914293467 +351234872325 26
939999868 932506907 570
939999868 228628637 460
960373347 919530258 263
939999868 960703223 470
914293467 932106163 525
961393096 938078294 418
913862602 916747594 152
963970864 914917941 302
939999868 963865883 422
963970864 +31765214531 437
919274650 231233053 269
914293467 934877413 188
963970864 228628637 415
934863725 231233053 501
913862602 913297593 221
963970864 910898341 36
962613058 +1555234812 241
960373347 919530258 488
934863725 969614202 529
913862602 919169253 509
961393096 960703223 379
914293467 938078294 165
939999868 962402153 91
914293467 939747620 553
963970864 965411417 146
934863725 932935286 436
934863725 939460329 423
961393096 +351234872325 49
930930597 934877413 163
939999868 969565271 467
919274650 962456381 548
961393096 910898341 302
962613058 914917941 378
913862602 938078294 499
930930597 939460329 393
934863725 271055066 527
962613058 910898341 592
930930597 913297593 91
934863725 969565271 367
914293467 967705618 516
919274650 +81728423983 88
963970864 969565271 372
939999868 969614202 13
913862602 910898341 415
963970864 919530258 186
930930597 969565271 81
939999868 960703223 360
934863725 960191430 556
930930597 939747620 24
913862602 916747594 125
963970864 +31765214531 87
913862602 913297593 153
962613058 969614202 279
962613058 938078294 562
934863725 +1555234812 198
962613058 +81728423983 266
961393096 939747620 341
934863725 919169253 366
919274650 914917941 216
919274650 +351234872325 422
939999868 962456381 388
930930597 932506907 588
960373347 237395357 112
919274650 228628637 530
914293467 939460329 528
930930597 934877413 489
963970864 271055066 331
939999868 934192590 34
913862602 965411417 280
939999868 +351234872325 224
914293467 939747620 372
961393096 939747620 203
961393096 +1555234812 77
919274650 934877413 598

View File

@ -0,0 +1,200 @@
960373347 934877413 598
961393096 962456381 370
930930597 967705618 167
934863725 919169253 61
963970864 914917941 400
963970864 +351234872325 530
939999868 932506907 465
961393096 965411417 319
934863725 919530258 170
962613058 910898341 159
960373347 939747620 557
961393096 228628637 115
934863725 228628637 221
962613058 938078294 529
961393096 962402153 172
934863725 919530258 105
919274650 969614202 532
913862602 919530258 66
930930597 967705618 285
961393096 962456381 565
913862602 910898341 408
963970864 934877413 335
914293467 919021596 261
939999868 919169253 66
934863725 939460329 71
962613058 914917941 299
961393096 960191430 420
962613058 910898341 46
961393096 919530258 139
914293467 934192590 292
914293467 962402153 571
961393096 916747594 364
934863725 228628637 31
961393096 939747620 327
960373347 910898341 104
963970864 910898341 349
934863725 939460329 384
913862602 934877413 62
914293467 231233053 292
934863725 919530258 32
960373347 228628637 32
961393096 960191430 240
934863725 939747620 158
934863725 228628637 599
963970864 969565271 280
913862602 914917941 563
962613058 969614202 342
919274650 938078294 141
934863725 965411417 13
960373347 +1555234812 235
960373347 969614202 159
960373347 919530258 183
919274650 969565271 32
930930597 +351234872325 556
939999868 969614202 11
963970864 934877413 257
960373347 938078294 383
939999868 916747594 197
962613058 963865883 335
962613058 918114879 325
913862602 932106163 449
919274650 237395357 67
930930597 919021596 133
930930597 916747594 67
939999868 962456381 185
939999868 932935286 581
960373347 271055066 393
930930597 934877413 595
960373347 934877413 39
934863725 938078294 206
960373347 969565271 516
962613058 939747620 394
961393096 938078294 66
963970864 934877413 282
913862602 932106163 429
934863725 914917941 176
919274650 932506907 76
960373347 939460329 460
960373347 228628637 259
963970864 939460329 76
919274650 +81728423983 133
913862602 +81728423983 580
961393096 960191430 389
960373347 919530258 182
919274650 231233053 504
963970864 919169253 156
919274650 960703223 585
934863725 919021596 363
914293467 932506907 276
930930597 960191430 49
962613058 938078294 596
960373347 967705618 556
961393096 918114879 585
939999868 919169253 207
962613058 967705618 78
930930597 932106163 372
961393096 967705618 461
961393096 +81728423983 128
934863725 919021596 556
961393096 916747594 575
960373347 919530258 379
961393096 932935286 475
962613058 231233053 46
962613058 932935286 348
963970864 938078294 451
913862602 932935286 173
962613058 939747620 281
939999868 228628637 238
962613058 932935286 497
930930597 932506907 104
939999868 +81728423983 325
914293467 960703223 84
960373347 965411417 550
963970864 918114879 300
930930597 934877413 108
919274650 960703223 466
930930597 962456381 320
963970864 969565271 244
934863725 960703223 592
914293467 963865883 427
934863725 +1555234812 390
960373347 910898341 466
963970864 231233053 599
960373347 969565271 165
934863725 962402153 559
939999868 934877413 48
919274650 934192590 195
961393096 +351234872325 249
914293467 934877413 329
914293467 969614202 380
960373347 +351234872325 366
939999868 960703223 56
919274650 910898341 514
914293467 932506907 577
939999868 910898341 581
934863725 916747594 368
939999868 962402153 99
961393096 967705618 44
914293467 939747620 431
962613058 962456381 547
919274650 919169253 485
960373347 916747594 560
963970864 +31765214531 246
961393096 934192590 81
961393096 914917941 355
962613058 969614202 566
919274650 962402153 571
939999868 967705618 78
939999868 938078294 521
914293467 231233053 83
913862602 919021596 379
960373347 932506907 589
961393096 963865883 570
914293467 962456381 309
919274650 914917941 562
960373347 910898341 75
961393096 967705618 87
961393096 +1555234812 181
960373347 228628637 597
962613058 910898341 453
960373347 +31765214531 118
939999868 965411417 550
934863725 914917941 592
934863725 +1555234812 149
960373347 938078294 386
961393096 +31765214531 76
960373347 960703223 175
963970864 918114879 171
919274650 932106163 97
919274650 939460329 375
963970864 271055066 341
914293467 934877413 469
913862602 919021596 111
913862602 967705618 100
919274650 914917941 507
960373347 932106163 477
963970864 237395357 565
919274650 967705618 130
930930597 271055066 441
962613058 910898341 209
919274650 271055066 106
960373347 919530258 499
930930597 271055066 168
961393096 962456381 272
963970864 +81728423983 511
961393096 969614202 234
963970864 965411417 57
914293467 938078294 465
913862602 932106163 585
960373347 919021596 214
963970864 939747620 392
939999868 932106163 305
960373347 938078294 498
962613058 939460329 33
963970864 932106163 209
914293467 932106163 583
913862602 932935286 211
960373347 939747620 111
934863725 962456381 561
939999868 932935286 56

BIN
1ano/fp/extra2/extra2.pdf Normal file

Binary file not shown.

105
1ano/fp/extra2/telecom.py Normal file
View File

@ -0,0 +1,105 @@
def main() -> None:
calls = {}
while True:
print("""1) Registar chamada
2) Ler ficheiro
3) Listar clientes
4) Fatura
5) Terminar""")
op = input("Opção? ")
if op == "1":
registar_chamada(calls)
elif op == "2":
fname = input("Ficheiro? ")
ler_ficheiro(calls, fname)
elif op == "3":
listar_clientes(calls)
elif op == "4":
phone_number = input("Telefone? ")
fatura(calls, phone_number)
elif op == "5":
exit(0)
else:
print("Opção inválida\n")
def registar_chamada(calls: dict) -> None:
caller_phone_number = input("Telefone origem? ")
while not validate_phone_number(caller_phone_number):
caller_phone_number = input("Telefone origem? ")
destination_phone_number = input("Telefone destino? ")
while not validate_phone_number(destination_phone_number):
destination_phone_number = input("Telefone destino? ")
duration = input("Duração (s)? ")
while not duration.isdigit():
duration = input("Duração (s)? ")
duration = int(duration)
if caller_phone_number not in calls:
calls[caller_phone_number] = {}
if destination_phone_number not in calls[caller_phone_number]:
calls[caller_phone_number][destination_phone_number] = []
calls[caller_phone_number][destination_phone_number] += [int(duration)]
def ler_ficheiro(calls: dict, fname: str) -> None:
try:
with open(fname, 'r') as f:
for line in f:
line = line.strip()
if line:
caller_phone_number, destination_phone_number, duration = line.split('\t')
if caller_phone_number not in calls:
calls[caller_phone_number] = {}
if destination_phone_number not in calls[caller_phone_number]:
calls[caller_phone_number][destination_phone_number] = []
calls[caller_phone_number][destination_phone_number] += [int(duration)]
except FileNotFoundError:
print("Ficheiro não encontrado\n")
def listar_clientes(calls: dict) -> None:
print("Clientes:", end='\t')
for caller_phone_number in calls:
print(caller_phone_number, end='\t')
print()
def fatura(calls: dict, phone_number: str) -> None:
if phone_number not in calls:
print("Cliente não existe\n")
return
total = 0
print("Fatura do cliente", phone_number)
print(f"{'Destino':<15}{'Duração':>10}{'Custo':>10}")
for destination_phone_number in calls[phone_number]:
for duration in calls[phone_number][destination_phone_number]:
if destination_phone_number.startswith("+"):
call_cost = duration * 0.8 / 60
elif destination_phone_number.startswith("2"):
call_cost = duration * 0.02 / 60
elif phone_number[:2] == destination_phone_number[:2]:
call_cost = duration * 0.04 / 60
else:
call_cost = duration * 0.1 / 60
total += call_cost
print(f"{destination_phone_number:<20}{duration:>10}{call_cost:>12.2f}")
print(f"{'Total':>30}{total:>12.2f}")
def validate_phone_number(phone_number: str) -> bool:
return phone_number.isdigit() and len(phone_number) >= 3 if phone_number[0] != "+" else phone_number[1:].isdigit() and len(phone_number[1:]) >= 3
if __name__ == '__main__':
main()

File diff suppressed because one or more lines are too long

25
1ano/fp/extra2/twitter.py Normal file
View File

@ -0,0 +1,25 @@
# Este programa demonstra a leitura e utilização de dados de um ficheiro JSON
# com mensagens do Twitter.
# Modifique-o para resolver o problema proposto.
# O módulo json permite descodificar ficheiros no formato JSON.
# São ficheiros de texto que armazenam objetos compostos que podem incluir
# números, strings, listas e/ou dicionários.
import json
# Abre o ficheiro e descodifica-o criando o objeto twits.
with open("twitter.json", encoding="utf8") as f:
twits = json.load(f)
# Analise os resultados impressos para perceber a estrutura dos dados.
print(type(twits)) # deve indicar que é uma lista!
print(type(twits[0])) # cada elemento da lista é um dicionário.
print(twits[0].keys()) # mostra as chaves no primeiro elemento.
# Cada elemento contém uma mensagem associada à chave "text":
print(twits[0]["text"])
# Algumas mensagens contêm hashtags:
print(twits[880]["text"])