DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 4: 18 Aprile 2013
Gianluca Durelli – [email protected]
Marco D. Santambrogio – [email protected]
Ver. aggiornata al 17 Aprile 2013
Argomenti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Argomenti di questo laboratorio:
 Funzioni
 Passaggio parametri per valore/indirizzo
 Strutture dati
• Obiettivo:
 Risolvere completamente 1 esercizio
 Impostarne almeno un altro
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Cifrario a scorrimento
• Calcoli su rettangolo
• Tavola periodica degli elementi:




Creazione tavola
Ricerca elemento
Ordinamento elementi
Crea molecola
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 ROT N che utilizza uno
spostamento di N caratteri.
4
Esercizio 1 - Cifrario a scorrimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che, ricevuta in ingresso
una stringa di testo ed il numero N, prima la cifri
usando ROT N 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 alla volta passato
per copia ed il valore N, lo cifrino o decifrino secondo lo
schema ROT N.
 V2: Passaggio per indirizzo
• Si risolva l’esercizio definendo le funzioni crypt e decrypt
che, ricevuto in ingresso un carattere alla volta passato
per indirizzo ed il valore N, lo cifrino o decifrino secondo lo
schema ROT13.
5
Esercizio 2 - Calcoli su triangolo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
Si scriva un programma che chieda all’utente di inserire 4 punti (in ordine) del piano
che identificano i vertici di un rettangolo e calcoli perimetro ed area del rettangolo
stesso.

Es.: A(0, 1) - B(3, 1) – C(3, 2) – D(0, 2)
•
•

Si definiscano ed utilizzino tutte le strutture dati che si ritengono opportune, in particolare si
definisca:
•
•
•

Si stampino le informazioni calcolate all’interno del main
V2: Si usi una funzione calcolaRettangolo che riceva in ingresso una struttura di tipo
rettangolo passata per indirizzo e la aggiorni con perimetro ed area.
•

Punto
Retta (definita da un punto ed il suo coefficiente angolare)
Rettangolo (definito dai suoi quattro vertici e gli attributi perimetro ed area)
V1: Si usi una funzione calcolaRettangolo che riceva in ingresso una struttura di tipo
rettangolo passata per copia e la aggiorni con perimetro ed area.
•

Perimetro: 8
Area: 3
Si stampino le informazioni calcolate all’interno del main
Si risolva il problema usando diverse funzioni come ad esempio:
•
•
•
•
lunghezzaSegmento
calcolaPerimetro
calcolaArea
coeffAngolareRetta
6
Tavola periodica degli elementi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si definiscano le strutture ed i tipi di dato
necessari a rappresentare un sottoinsieme
della tavola periodica degli elementi.
• In particolare si definisca il tipo di dato
elemento identificato da:




Numero atomico
Nome
Simbolo
Peso atomico
• Sfruttando i tipi di dato qui definiti si
affrontino i problemi successivi
7
Esercizio 3 – Creazione tavola periodica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta di
creare la tavola periodica.
• Il programma chiede all’utente quanti
elementi si vogliono inserire e poi procede
con la richiesta dei dati sul singolo
elemento
• Vincolo:
 Si risolva l’esercizio usando una funzione
aggiungiAllaTavola che ricevuto in ingresso
un elemento lo aggiunga nella prima
posizione disponibile della tavola.
8
Esercizio 4 – Ricerca elemento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta la ricerca
di un elemento nella tavola.
• Il programma chiede all’utente di inserire un
nome, oppure un simbolo per effettuare la
ricerca dell’elemento.
• Se l’elemento desiderato viene trovato si
stampino a video le sue proprietà.
• Vincolo:
 Si utilizzino due funzioni cercaNome e
cercaSimbolo per risolvere l’esercizio. Le funzioni
devono ricevere in ingresso la stringa da cercare e
ritornare un oggetto di tipo elemento.
9
Esercizio 5 - Ordinamento Elementi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che permetta di
ordinare la tavola secondo una proprietà scelta
dall’utente (Nome, simbolo, numero e peso
atomico).
• Si ordini il catalogo e se ne effettui la stampa.
• Vincolo:
 Si utilizzino quattro funzioni differenti per ordinare
la tavola secondo le diverse proprietà.
• Suggerimento:
 Si usi una funzione scambia per scambiare le
posizioni di due oggetti nella tavola.
10
Esercizio 6 – Crea molecola
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
Si scriva un programma che permetta di effettuare la creazione di una
molecola composta da due elementi della tavola.
Il programma chiede all’utente gli elementi con cui vuole comporre la
molecola (simbolo, nome) ed il nome della molecola.
La molecola viene composta e vengono stampate a video le sue
informazioni.
Vincolo:

•
Si utilizzi la funzione assembla che ricevuto in ingresso un vettore di elementi, il
loro numero ed il nome della molecola, li componga e restituisca il nuovo
elemento.
Es:


Na + Cl = NaCl – Cloruro di Sodio
Il programma crea un elemento:
•
•
•
•
Nome: Cloruro di Sodio
Simbolo NaCl
Peso atomico: somma dei pesi atomici
Numero atomico: somma dei numeri atomici
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
12
Scarica

Esercizi - Gianluca Durelli