Lab 6: 15 Maggio 2014
description
Transcript of Lab 6: 15 Maggio 2014
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 6: 15 Maggio 2014Lab 6: 15 Maggio 2014
Marco D. Santambrogio – [email protected] Durelli – [email protected]
Ver. aggiornata al 10 Maggio 2014
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ObiettiviObiettivi
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• Es0: Recupera Valore• Es1: Sostituisci Numero• Es2: Valori circostanti• Es3: Linea Spezzata• Es4: Media Studenti• Es5: Matrice 2x2 Inversa • Es6: Propagazione
3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 0: Recupera valoreExe 0: Recupera valore
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 0: Recupera valore Exe 0: Recupera valore (main)(main)
5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 0: Recupera valore Exe 0: Recupera valore (funzione)(funzione)
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 1: Sostituisci NumeroExe 1: Sostituisci Numero
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 2: Valori CircostantiExe 2: Valori Circostanti
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 3: Line SpezzataExe 3: Line Spezzata
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 4: Media StudentiExe 4: Media Studenti
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 5: Matrice 2x2 InversaExe 5: Matrice 2x2 Inversa
• Si scriva una funzione C che ricevuta in ingresso una matrice 2x2 ne calcoli l’inversa
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 6: PropagazioneExe 6: Propagazione
• 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