DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 3 L.26.14
27 Aprile 2015
Marco D. Santambrogio – [email protected]
Gianluca Durelli - [email protected]
Ver. aggiornata al 26 Aprile 2015
Argomenti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Argomenti di questo laboratorio:
 Funzioni
 Ricorsione
• Obiettivo:
 Risolvere almeno 2 esercizi:
• Obbligatorio l’esercizio 1
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Lunghezza stringa
Es1: Media
Es2: Modifica matrice
Es3: Prodotto tra matrici
Es4: Creazione tavola periodica
Es5: Ricerca elemento
Es6: Ordinamento elementi
3
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Lunghezza stringa
Es1: Media
Es2: Modifica matrice
Es3: Prodotto tra matrici
Es4: Creazione tavola periodica
Es5: Ricerca elemento
Es6: Ordinamento elementi
4
Exe 0: Lunghezza Stringa
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere una funzione ricorsiva in C
che:
 Ricevuta in ingresso una stringa
 Ritorni la sua lunghezza
• Non usare strlen(char *)!!!
 Non usarla nemmeno nei prossimi
esercizi!!!
5
Exe 0: Somma array (main)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
6
Exe 0: Somma array (funzione)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
7
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Lunghezza stringa
Es1: Media
Es2: Modifica matrice
Es3: Prodotto tra matrici
Es4: Creazione tavola periodica
Es5: Ricerca elemento
Es6: Ordinamento elementi
8
Es1: Media
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere un programma che, ricevuto in
ingresso un vettore di N interi, determini
quanti numeri dell’array sono maggiori
della sua media.
• Vincolo:
 Utilizzare una funzione per riempire il
vettore
 Utilizzare una funzione per calcolare la
media degli elementi inseriti nell’array
 Utilizzare una funzione per il calcolo del
numero di elementi maggiori della media
9
Es2: Modifica Matrice
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere un programma che, ricevuto in
ingresso una matrice NxM di interi,
modifichi la matrice facendo in modo
che ogni numero dispari venga
moltiplicato per 2 ed ogni numero pari
diviso per 2.
• Vincolo:
 Si utilizzi una funzione modificaMatrice per
effettuare le modifiche (moltiplicazioni e
divisioni) alla matrice in ingresso
10
Es3: Prodotto tra matrici
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere un programma che, e in
ingresso 2 matrici di dimensioni scelte
dall’utente:
 Verifichi che le loro dimensioni siano
compatibili con l’operazione di prodotto tra
matrici
 Effettui la moltiplicazione tra le matrici
• Vincolo:
 Si utilizzino almeno 2 funzioni:
• Una per il controllo sulle dimensioni delle
matrici
• Una per il calcolo del loro prodotto
11
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
12
Es4: 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.
13
Es5: 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.
14
Es6: 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
15
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
16
Scarica

V0 - PPT