Estratto del documento

Esempio prova di programmazione

Si vuole realizzare un codificatore, ovvero un dizionario che contiene coppie di tipo “parola codice”, in cui il campo “parola” è una stringa che ha la funzione di chiave per il dizionario ed il campo “codice” è anch’esso una stringa che rappresenta una parola cifrata associata alla parola di partenza. Si assume che entrambe le stringhe, parola e codice, non contengano caratteri delimitatori.

Un codificatore può essere usato per cifrare un messaggio tramite la seguente procedura:

  • Le parole del messaggio che sono contenute nel codificatore vengono sostituite dai relativi codici;
  • Le parole che non sono contenute nel codificatore vengono lasciate inalterate.

Inoltre un codificatore può essere invertito, ovvero è possibile creare un decodificatore (codificatore inverso) ad esso associato, tramite cui un messaggio cifrato può essere decifrato, ovvero riconvertito nell’originale.

Esempio: dato un codificatore che contiene le due coppie (007 bimbo), (missione gita), e dato il messaggio “Inviare missione 007”, allora il messaggio cifrato è “Inviare gita bimbo”.

File CodificatoreTester.java

Il candidato ha a disposizione il file CodificatoreTester.java, il quale contiene classi e interfacce da utilizzare e/o completare secondo quanto qui indicato:

  • InvertibleDictionary. Interfaccia che rappresenta il tipo di dato astratto “dizionario invertibile”. Leggere con attenzione i commenti all’interfaccia ed ai suoi metodi. Non modificare.
  • DictionaryItemNotFoundException. Eccezione lanciata in caso di mancato ritrovamento di una coppia nel dizionario. Non modificare.
  • Codificatore. Classe che implementa l’interfaccia InvertibleDictionary. Completare la classe scrivendone la parte privata e realizzandone i metodi pubblici. Un codificatore conterrà coppie di tipo “parola codice” appartenenti alla classe StringPair, realizzata come classe interna di Codificatore e il cui codice non va modificato. Si richiede inoltre di realizzare un metodo toString per la classe, che restituisca una stringa contenente gli elementi secondo il seguente formato: (1) ogni coppia viene scritta su una riga diversa, e (2) all’interno di ogni riga la coppia viene scritta seguendo il formato specificato dal metodo toString della classe StringPair (si veda il corpo di tale metodo).
  • CodificatoreTester. Completare la classe in modo che il suo metodo main realizzi il seguente comportamento:
    • Riceve un nome di file di testo, file1, come argomento sulla riga di comando;
    • Crea un oggetto c1 di tipo Codificatore e vi inserisce coppie lette dal file file1 (scritto nello
Anteprima
Vedrai una selezione di 1 pagina su 1
Informatica I - esempio prova di programmazione (Codificatore/dictionary) Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community