DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli –...

12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Lab 4: 18 Aprile 2013 Gianluca Durelli – [email protected] Marco D. Santambrogio – [email protected] Ver. aggiornata al 17 Aprile 2013

Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli –...

Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 4: 18 Aprile 2013Lab 4: 18 Aprile 2013

Gianluca Durelli – [email protected] D. Santambrogio – [email protected]

Ver. aggiornata al 17 Aprile 2013

Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

ArgomentiArgomenti

• Argomenti di questo laboratorio: Funzioni Passaggio parametri per

valore/indirizzo Strutture dati

• Obiettivo: Risolvere completamente 1 esercizio Impostarne almeno un secondo

2

Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

EserciziEsercizi

• Cifrario a scorrimento• Calcoli su rettangolo• Tavola periodica degli elementi:

Creazione tavola Ricerca elemento Ordinamento elementi Crea molecola

3

Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 1 - Cifrario a scorrimentoEsercizio 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 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

Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 1 - Cifrario a scorrimentoEsercizio 1 - Cifrario a scorrimento

• 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

Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 2 - Calcoli su Esercizio 2 - Calcoli su triangolotriangolo• 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)

• Perimetro: 8• Area: 3

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)• 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.• 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.• Si stampino le informazioni calcolate all’interno del main

Si risolva il problema usando diverse funzioni come ad esempio:• lunghezzaSegmento• calcolaPerimetro• calcolaArea• coeffAngolareRetta

6

Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Tavola periodica degli Tavola periodica degli elementielementi

• 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

Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 3 – Creazione tavola Esercizio 3 – Creazione tavola periodicaperiodica

• 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

Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 4 – Ricerca elementoEsercizio 4 – Ricerca elemento

• 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

Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 5 - Ordinamento Esercizio 5 - Ordinamento ElementiElementi

• 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

Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 6 – Crea molecolaEsercizio 6 – Crea molecola

• 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

Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 18 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• BUON LAVORO!

12