La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –

Presentazioni simili


Presentazione sul tema: "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –"— Transcript della presentazione:

1 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio – Ver. aggiornata al 14 Aprile 2013

2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEArgomenti Argomenti di questo laboratorio: Funzioni Passaggio parametri per valore/indirizzo Strutture dati Obiettivo: Risolvere completamente un esercizio Cercare di impostarne un secondo 2

3 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEEsercizi Cifrario a scorrimento Calcoli su triangolo Libreria: Creazione catalogo libri Ricerca libro Ordinamento oggetti Acquisto libro 3

4 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 1 - Cifrario a scorrimento 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 nellalfabeto. La sostituzione avviene lettera per lettera scorrendo il testo dallinizio 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

5 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 1 - Cifrario a scorrimento 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 lesercizio 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 lesercizio 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

6 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 2 - Calcoli su triangolo Si scriva un programma che chieda allutente 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: 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

7 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELibreria 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

8 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 3 - Libreria: Creazione catalogo Si scriva un programma che permetta di creare il catalogo della libreria. Il programma chiede allutente quanti libri si vogliono inserire e poi procede con la richiesta dei dati sul singolo libro Vincolo: Si risolva lesercizio usando una funzione aggiungiAlCatalogo che ricevuto in ingresso un libro lo aggiunga nella prima posizione disponibile del catalogo. 8

9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 4 - Libreria: Ricerca libro Si scriva un programma che permetta la ricerca di un libro nel catalogo dei libri disponibili. Il programma chiede allutente 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 lesercizio. Le funzioni devono ritornare un oggetto di tipo libro. 9

10 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 5 - Libreria: Ordinamento Oggetti Si scriva un programma che permetta di ordinare il catalogo secondo una proprietà scelta dallutente (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

11 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercizio 6 - Libreria: Acquisto libro Si scriva un programma che permetta di effettuare lacquisto di un libro. Il programma chiede allutente il libro che desidera comprare (titolo oppure codice) ed il numero di copie desiderate. Se è possibile effettuare la vendita si presenti allutente il totale da pagare, altrimenti si comunichi il motivo del mancato acquisto: Libro non presente nellarchivio 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 dellacquisto. 11

12 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE BUON LAVORO! 12


Scaricare ppt "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –"

Presentazioni simili


Annunci Google