Lab 6: 15 Maggio 2014

13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6: 15 Maggio 2014 Lab 6: 15 Maggio 2014 Marco D. Santambrogio – [email protected] Gianluca Durelli – [email protected] Ver. aggiornata al 10 Maggio 2014

description

Lab 6: 15 Maggio 2014. Marco D. Santambrogio – [email protected] Gianluca Durelli – [email protected] Ver. aggiornata al 10 Maggio 2014. Obiettivi. Esercitarsi sui costrutti visti a lezione Tutto il C fatto fino a qui - PowerPoint PPT Presentation

Transcript of Lab 6: 15 Maggio 2014

Page 1: 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

Page 2: Lab 6: 15 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

Page 3: Lab 6: 15 Maggio 2014

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

Page 4: Lab 6: 15 Maggio 2014

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

Page 5: Lab 6: 15 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Recupera valore Exe 0: Recupera valore (main)(main)

5

Page 6: Lab 6: 15 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Recupera valore Exe 0: Recupera valore (funzione)(funzione)

6

Page 7: Lab 6: 15 Maggio 2014

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

Page 8: Lab 6: 15 Maggio 2014

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

Page 9: Lab 6: 15 Maggio 2014

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

Page 10: Lab 6: 15 Maggio 2014

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

Page 11: Lab 6: 15 Maggio 2014

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

Page 12: Lab 6: 15 Maggio 2014

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

Page 13: Lab 6: 15 Maggio 2014

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• BUON LAVORO!

13