Do you need 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

Incomprensioni terzo esercizio homework

francesco.dev (33560 points)
14 51 129
in Es3 by (33.6k points)
closed by
Ciao a tutti e buona sera!

Leggendo la traccia del terzo esercizio non ho ben capito cosa ci chiede:
Ho capito che bisogna togliere tutti i caratteri non presenti nel range a:z, ma poi non ho ben capito il seguito dell'esercizio, ovvero quello in cui si parla di eliminare le ricorrenze e di associare ogni lettera della chiave ad una lettera del messaggio.

Se qualcuno o il professore stesso potesse aiutarmi ed aiutare chiunque si trovi nella mia situazione, anche attraverso esempi cosicché da poter capire al 100% tale quesito.

Grazie in anticipo!
- Francesco Pio Scognamiglio
229 views
closed with the note: answered

1 Answer

Best answer
V
Vlad (4580 points)
2 14 24
by (4.6k points)
selected by
Buongiorno
Ora non ho modo di vedere il testo dell'esercizio, però credo di ricordarmi bene il procedimento

Ci sono due fasi: costruire la chiave, usare la chiave per codificare / decodificare

Come si crea la chiave a partire dalla stringa fornita in input :
Come hai detto anche tu innanzitutto si rimuovono tutti i caratteri che non sono lettere minuscole.

Poi bisogna fare in modo che rimanga una sola ricorrenza di ogni lettera, e deve essere per forza l'ultima presente nella stringa
es: se la stringa fosse ' abaca' noi alla fine di questo passaggio ci troviamo 'bca'

Poi questa stringa va ordinata (ma non perdiamola perché ci serve nel passaggio successivo ) quindi avremo poi 'abc'

Ora bisogna fare l'associazione tra la stringa non ordinata e quella ordinata.
Si creano delle "coppie associate " in base alle lettere presenti nelle due stringhe (non ordinata e ordinata): la prima lettera non ordinata va con la prima ordinata, la seconda con la seconda e così via.
Nel nostro caso 'bca' > 'abc' : b>a , c>b, a>c

Queste sono le associazioni che dovremo usare per la codifica della stringa: quando nella stringa da codificare trovi una b essa deve diventare una a, se trovi una c diventa b, la a diventa c. Tutti gli altri caratteri rimangono invariati.

Per la decodifica le coppie rimangono le stesse ma si inverte il "senso":
Codifica : b>a , c>b, a>c
Decodifica : a>b, b>c, c>a

Spero di non essermi dimenticato nulla (e di aver capito bene la traccia ahah ) , fammi sapere se c'è qualcosa che non torna
francesco.dev (33560 points)
14 51 129
by (33.6k points)
Ottima risposta! Grazie mille per l'aiuto!