Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Chiarimento consegna HW3opt

saidai (1340 points)
1 2 13
asked Nov 4, 2021 in HW3 opzionale by saidai (1,340 points)

Stavo dando un'occhiata all'ultimo homework opzionale uscito e ho notato delle incongruenze tra la consegna in italiano e quella in inglese.

Versione in italiano:

01010010010001000111101100001010011001111000010010011110010000000

la sottosequenza '00' ha frequenza 23 mentre la sottosequenza '1000' ha
frequenza 5.

Versione in inglese:

01010010010001000111101100001010011001111000010010011110010000000

The frequency of segment ‘00’ is 12. The frequency of segment ‘1000’ is 5.

Oltre questo piccolo errore di battitura non avevo ben chiaro l'output dell'esempio, mi spiego meglio, il primo elemento della lista di output è una tupla contenente sottostringhe con frequenza 4, guardando bene la sequenza possiamo notare che esistono sottostringhe con frequenza 1 (1101), 2 (0101) 3 (101).

Come mai l'esempio ignora completamente queste sottostringhe? Sto confondendo qualcosa io?

2 Answers

Best answer
andrea.sterbini (172780 points)
513 935 1789
answered Nov 4, 2021 by andrea.sterbini (172,780 points)
selected Nov 4, 2021 by saidai
Appena posso controllo
andrea.sterbini (172780 points)
513 935 1789
commented Nov 5, 2021 by andrea.sterbini (172,780 points)
Ho aggiunto una nota alla pagina inglese.

Nota che l'esempio è sbagliato (come indicato anche nelle pagine) e che devono essere tornate tutte le sequenze perchè 20 è più grande del numero di sottosequenze diverse presenti nella stringa.
g
giac (2790 points)
7 14 27
answered Nov 4, 2021 by giac (2,790 points)
le sottostringhe con frequenza minore sono ignorate perché devono essere restiuite solo le n sottostringhe più frequenti.

ma proprio riguardo a questo argomento, volevo far notare che l'esempio parla di n=20, ma le sottostringhe in output sono solo 19. è un errore o non ho capito bene?

[ (4, ['0001', '0011', '1100' ]),
      (5, ['011', 1000', '110' ]),
      (6, ['0000', '111']),
      (7, ['0010','1001' ]),
      (8, ['0100']),
      (10,['010']),
      (11,['000', '001', '11']),
      (12,['100']),
      (15,['01','10']),
      (23,['00'])
    ]
saidai (1340 points)
1 2 13
commented Nov 4, 2021 by saidai (1,340 points)
n indica il numero massimo di frequenze, non il numero di sottostringhe.

Inoltre dove sta scritto che devono essere restituite sole le più frequenti?
g
giac (2790 points)
7 14 27
commented Nov 4, 2021 by giac (2,790 points)
hai ragione, conta il numero di frequenze, non sottostringhe. nel caso in cui le frequenze distinte siano più di n, le n frequenze massime. il prof ha aggiornato il thread dell'hw