Lab 6: 15 Maggio 2014

Post on 23-Jan-2016

37 views 0 download

description

Lab 6: 15 Maggio 2014. Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it 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

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 6: 15 Maggio 2014Lab 6: 15 Maggio 2014

Marco D. Santambrogio – marco.santambrogio@polimi.itGianluca Durelli – durelli@elet.polimi.it

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