DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 14 Aprile 2014 Marco D. Santambrogio – [email protected] Gianluca Durelli – [email protected] Ver. aggiornata al 13 Aprile 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: Somma immaginari Es1: Conta elementi Es2: Conta 0 Es3: Maggiori media Es4: Occorrenze Es5: Somma matrici Es6: Anagrafica 3 Exe 0: Numeri complessi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • L’utente inserisce due numeri complessi (parte reale e parte immaginaria) e l’elaboratore esegue l’operazione di somma (tramite una funzione somma) Es: 3+4i + 5-6i = 8-2i • Il programma chiede all’utente se vuole calcolare un’altra somma. Se l’utente inserisce il carattere ‘q’ il programma termina, altrimenti ricomincia daccapo. 4 Numeri complessi: soluzione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 5 Numeri complessi: strutture dati e prototipi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 Numeri complessi: main DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 7 Numeri complessi: funzione somma DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 8 Esercizi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • • • • • • • Es0: Somma immaginari Es1: Conta elementi Es2: Conta 0 Es3: Maggiori media Es4: Occorrenze Es5: Somma matrici Es6: Anagrafica 9 Exe 1: Conta elementi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere una funzione in C che: ricevuto in ingresso una matrice NxM di interi ed un numero X determini e restituisca quanti numeri nella matrice non sono divisibili per il numero dato 10 Exe 2: Conta 0 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva una funzione in C che: Presa in ingresso una matrice di interi compresi tra 0 e 1 di dimensione RxC, con R e C definiti dall’utente Restituisce come risultato il numero degli 0 presenti nella matrice 11 Exe 3: Maggiori media DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere una funzione che, ricevuto in ingresso un vettore di N interi, determini e restituisca quanti numeri dell’array sono maggiori della sua media V0: si scriva la funzione senza usare l’operatore di deferenziazione V1: si scriva la funzione usando l’operatore di deferenziazione 12 Exe 4: Occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva una funzione in C che: Presa in ingresso una matrice di interi compresi tra 0 e 10 di dimensione RxC, con R e C definiti dall’utente Restituisce come risultato il numero delle occorrenze per ciascuno dei valori presenti nella matrice 13 Exe 5: somma matrici DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma in C che, date due matrici di interi M1 e M2, ne calcola la somma • La somma viene svolta tramite una funzione sommamatrici 14 Exe 6: Anagrafica DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si realizzi una struttura dati per la gestione dell’anagrafica degli utenti del Santa’s Hospital • Per ogni paziente ci interessa: Nome, cognome, data di nascita, telefono, email, indirizzo abitazione (via, numero civico, città, provincia, cap) • Si scriva quindi una funzione in C che permetta l’inserimento dei pazienti nell’agrafica del Santa’s Hospital 15 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • BUON LAVORO! 16