Estratto del documento

QUESITO 1

Algoritmo di Cesare: algoritmo di crittografia descritto dallo storico Svetonio: dato un testo "in

chiaro" crearne uno non comprensibile sostituendo le lettere che lo compongono. L'algoritmo

di basa su una "chiave" che è un numero tra 1 e 20 e rappresenta lo spostamento

nell'alfabeto che si deve effettuare per ottenere la lettera che sostituisce quella originale.

Cifrario di vigenere: Il metodo si può considerare una generalizzazione del cifrario di Cesare;

invece di spostare sempre dello stesso numero di posti la lettera da cifrare, questa viene

spostata di un numero di posti variabile, determinato in base ad una parola chiave, da

concordarsi tra mittente e destinatario, e da scriversi sotto il messaggio, carattere per

carattere; la parola chiave è detta anche verme, per il motivo che, essendo in genere molto

più corta del messaggio, deve essere ripetuta molte volte.

QUESITO 2

Sia dato un file che contiene una matrice rettangolare di interi positivi preceduta dalle sue

dimensioni (separate dal carattere “X”) Come esempio si consideri il file “in.txt” con il

seguente contenuto: 5X6 1 3 4 8 9 5 0 0 0 0 0 0 3 2 5 2 0 0 2 3 3 3 0 1 0 1 1 1 1 1 Scrivere

uno script python che prenda il nome di un file siffatto e produca un file “out.txt” eliminando

le righe che hanno come primo valore 0 ed invertendo l’ordine delle righe. Il numero di righe

(nella prima riga, quella delle dimensioni) deve essere riscritto in modo che corrisponda alle

righe della nuova matrice. Nell’esempio di cui sopra il contenuto del file al termine

dell’esecuzione deve essere il seguente. 3X6 2 3 3 3 0 1 3 2 5 2 0 0 1 3 4 8 9 5

QUESITO 3

Estrarre e contare le biblioteche di un comune (chiesto come input all’utente) sulla base dei

dati contenuti nel file biblioteche.csv. Creare delle funzioni di utilità per accedere ad un file e

per terminare l’accesso ad un file (“apertura e chiusura”). Utilizzare una tupla “biblioteca” che

rappresenti una riga del file biblioteche.csv. Possibilmente fare una funzione che legga una

riga e ritorni la tupla relativa. Per la eventuale tupla, impostare solo i tre valori "codice",

"denominazione", "comune".

QUESITO 4

Si consideri una matrice di caratteri 8 × 8 che contiene la posizione di una partita di scacchi.

I pezzi bianchi sono rappresentati dalla loro iniziale minuscola: r, d, a, c, t, e p

rispettivamente per re, donna, alfiere, cavallo, torre e pedone; i pezzi neri sono rappresentati

dalla stessa iniziale maiuscola R, D, A, C, T, e P. Le caselle vuote sono rappresentate dallo

spazio. Ad esempio la seguente matrice rappresenta la posizione iniziale. Si vuole scrivere

una funzione che valuti chi è in vantaggio nella posizione corrente dal punto di vista del

materiale presente sulla scacchiera. A questo scopo si usi la seguente valutazione dei pezzi:

pedone = 1, cavallo = 3, alfiere = 3, torre = 5, donna = 9, re =0. Si scriva un programma

python (opportunamente modularizzato tramite funzioni ausiliarie) che prenda come

parametro un file contenente una matrice siffatta e restituisca: • 1 se il bianco ha più



materiale del nero, • 2 se il nero ha più materiale del bianco, • 0 se il materiale è pari, • -1 se

  

la posizione sulla scacchiera non è legale

Anteprima
Vedrai una selezione di 3 pagine su 9
Python, quesiti Pag. 1 Python, quesiti Pag. 2
Anteprima di 3 pagg. su 9.
Scarica il documento per vederlo tutto.
Python, quesiti Pag. 6
1 su 9
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 meggiounivr di informazioni apprese con la frequenza delle lezioni di Python 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 Verona o del prof Tomazzoli Claudio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community