DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 6: 15 Maggio 2014
Marco D. Santambrogio – [email protected]
Gianluca Durelli – [email protected]
Ver. aggiornata al 10 Maggio 2014
Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Esercitarsi sui costrutti visti a lezione
 Tutto il C fatto fino a qui
 In particolare: puntatori e passaggio per
indirizzo dei parametri alle funzioni
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Recupera Valore
Es1: Sostituisci Numero
Es2: Valori circostanti
Es3: Linea Spezzata
Es4: Media Studenti
Es5: Matrice 2x2 Inversa
Es6: Propagazione
3
Exe 0: Recupera valore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere una funzione in C che:
 Ricevuta in ingresso una matrice NxM (con
dimensioni scelte dall’utente) ed una
posizione (i,j) della matrice
 Ritorni il valore della matrice nella
posizione (i-1, j) quando questo e’
significativo, 0 altrimenti
4
Exe 0: Recupera valore (main)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
5
Exe 0: Recupera valore (funzione)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
6
Exe 1: Sostituisci Numero
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere una funzione in C che:
 ricevuta in ingresso una matrice NxM di
interi e due numeri X ed Y
 Sostituisca ogni occorrenza del numero X
nella matrice con il numero Y e viceversa
 Nota: Le dimensioni N ed M ed i numeri X
ed Y devono poter essere scelti dall’utente
7
Exe 2: Valori Circostanti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva una funzione in C che:
 Ricevuta in ingresso una matrice di
dimensione NxM (con dimensioni scelte
dall’utente) ed una posizione (i,j) della
matrice
 Restituisca la somma dei valori connessi
alla posizione scelta
 Nota: Due valori sono connessi se sono
adiacenti in orizzontale, verticale oppure
obliquo.
8
Exe 3: Line Spezzata
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva una funzione che:
 Ricevuto un ingresso un vettore di elementi
che rappresentano dei punti in un piano
cartesiano
 Calcoli la lunghezza della linea spezzata
che li collega
 Nota: Si definiscano opportune strutture
dati per risolvere l’esercizio
9
Exe 4: Media Studenti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si realizzi una struttura dati per la gestione
dell’anagrafica degli studenti
• Per ogni studente ci interessa:
 Nome, cognome e media (con decimali)
• Si scrivano quindi due funzione in C:
 La prima per inserire gli studenti
nell’anagrafica
 La seconda che permetta di salvare in un
array tutti e soli gli studenti che hanno una
media compresa tra un intervallo scelto
dall’utente
10
Exe 5: Matrice 2x2 Inversa
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva una funzione C che ricevuta in
ingresso una matrice 2x2 ne calcoli
l’inversa
11
Exe 6: Propagazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere una funzione in C che:
 Riceva in ingresso una matrice di dimensioni
NxM (scelte dall’utente) inizializzata a 0
 Riceva in ingresso una posizione della matrice
(I,j) da inizializzare ad un valore X
 Propaghi il valore iniziale secondo le seguenti
regole:
• La matrice va sempre scorsa da destra verso
sinistra e dall’alto verso il basso
• Se una cella ha valore 0 ed e’ circondata da celle
non nulle allora questa assumera’ un valore pari
alla somma dei valori contenuti nelle celle adiacenti
• L’algoritmo si ferma quando non esistono piu’ celle
con valore 0
12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
13
Scarica

V0 - PPT