DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 4: 15 Aprile 2013
Gianluca Durelli – [email protected]
Marco D. Santambrogio – [email protected]
Ver. aggiornata al 14 Aprile 2013
Argomenti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Argomenti di questo laboratorio:
 Funzioni
 Passaggio parametri per valore/indirizzo
 Strutture dati
• Obiettivo:
 Risolvere completamente un esercizio
 Cercare di impostarne un secondo
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Cifrario a scorrimento
• Calcoli su triangolo
• Libreria:




Creazione catalogo libri
Ricerca libro
Ordinamento oggetti
Acquisto libro
3
Esercizio 1 - Cifrario a scorrimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• I cifrari a scorrimento sono metodi di cifratura che
agiscono su un testo in cui ogni lettera del testo in chiaro
viene sostituita, nel testo cifrato, con la lettera che si trova
un certo numero di posizioni dopo nell’alfabeto.
• La sostituzione avviene lettera per lettera scorrendo il
testo dall’inizio alla fine.
• Un famoso cifrario a scorrimento è il cifrario di Cesare,
usato da Cesare per cifrare le comunicazioni militari, che
utilizzava uno spostamento di 3 caratteri.
 Testo in chiaro: abcdefghiklmnopqrstux
 Testo cifrato:
DEFGHIKLMNOPQRSTVXABC
• Un altro cifrario famoso è il ROT13 che utilizza uno
spostamento di 13 caratteri.
4
Esercizio 1 - Cifrario a scorrimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che, ricevuta in ingresso una
stringa di testo, prima la cifri usando ROT13 e poi decifri
la stringa così ottenuta per riavere la stringa iniziale.
 V1: Passaggio per copia
• Si risolva l’esercizio definendo le funzioni crypt e decrypt che,
ricevuto in ingresso un carattere passato per copia lo cifrino o
decifrino secondo lo schema ROT13.
 V2: Passaggio per indirizzo
• Si risolva l’esercizio definendo le funzioni crypt e decrypt che,
ricevuto in ingresso un carattere passato per copia lo cifrino o
decifrino secondo lo schema ROT13.
 Cosa succede se usate la funzione crypt anche per decifrare
il testo? Perchè?
5
Esercizio 2 - Calcoli su triangolo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
Si scriva un programma che chieda all’utente di inserire 3 punti del
piano che identificano i vertici di un triangolo e calcoli perimetro ed area
del triangolo stesso.


Es.: A(0, 1) - B(1, 4) – C(2, 2)
•
•
Perimetro: 7.634414
Area: 2.5
Si definiscano ed utilizzino tutte le strutture dati che si ritengono opportune, in
particolare si definisca:
•
•
•
Punto
Retta (definita da un punto ed il suo coefficiente angolare)
Triangolo (definito dai suoi tre vertici e gli attributi perimetro ed area)

V1: Si usi una funzione calcolaTriangolo che riceva in ingresso una struttura di
tipo triangolo passata per copia e la aggiorni con perimetro ed area.

V2: Si usi una funzione calcolaTriangolo che riceva in ingresso una struttura di
tipo triangolo passata per indirizzo e la aggiorni con perimetro ed area.

Si risolva il problema usando diverse funzioni come ad esempio:
•
•
•
•
•
lunghezzaSegmento
calcolaPerimetro
calcolaArea
coeffAngolareRetta
puntoIntersezioneRette
6
Libreria
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si definiscano le strutture ed i tipi di dato
necessari a modellizzare un catalogo di
libri per una libreria.
• In particolare si definisca il tipo di dato
libro identificato da:




Codice numerico
Titolo
Costo
Numero di copie disponibili
• Sfruttando i tipi di dato qui definiti si
affrontino i problemi successivi
7
Esercizio 3 - Libreria: Creazione catalogo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta di
creare il catalogo della libreria.
• Il programma chiede all’utente quanti libri
si vogliono inserire e poi procede con la
richiesta dei dati sul singolo libro
• Vincolo:
 Si risolva l’esercizio usando una funzione
aggiungiAlCatalogo che ricevuto in ingresso
un libro lo aggiunga nella prima posizione
disponibile del catalogo.
8
Esercizio 4 - Libreria: Ricerca libro
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta la ricerca di
un libro nel catalogo dei libri disponibili.
• Il programma chiede all’utente di inserire un titolo,
oppure un codice per effettuare la ricerca del libro.
• Se il libro desiderato viene trovato nel catalogo si
stampino a video le sue proprietà (codice, titolo,
costo, copie disponibili).
• Vincolo:
 Si utilizzino due funzioni cercaTitolo e cercaCodice per
risolvere l’esercizio. Le funzioni devono ritornare un
oggetto di tipo libro.
9
Esercizio 5 - Libreria: Ordinamento Oggetti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta di ordinare il
catalogo secondo una proprietà scelta dall’utente
(codice, titolo, costo oppure copie disponibili).
• Si ordini il catalogo e se ne effettui la stampa.
• Vincolo:
 Si utilizzino quattro funzioni differenti per ordinare il
catalogo secondo le diverse proprietà.
• Suggerimento:
 Si usi una funzione scambia per scambiare le posizioni
di due libri nel catalogo.
10
Esercizio 6 - Libreria: Acquisto libro
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta di effettuare
l’acquisto di un libro.
• Il programma chiede all’utente il libro che desidera
comprare (titolo oppure codice) ed il numero di copie
desiderate.
• Se è possibile effettuare la vendita si presenti all’utente il
totale da pagare, altrimenti si comunichi il motivo del
mancato acquisto:
 Libro non presente nell’archivio
 Copie desiderate non disponibili
• Vincolo:
 Si utilizzi la funzione acquista che ricevuto in ingresso un
libro ed il numero di copie desiderate ritorni il risultato
dell’acquisto.
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
12
Scarica

V0 - PPT - Home page docenti