DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli – Ver. aggiornata al 13 Aprile 2014
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi 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 INFORMAZIONEEsercizi Es0: Somma immaginari Es1: Conta elementi Es2: Primi Es3: Calcolo punto medio Es4: Occorrenze Es5: Moltiplicazione tra matrici Es6: Inserimento nel SIT 3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Numeri complessi 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri complessi: soluzione 5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri complessi: strutture dati e prototipi 6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri complessi: main 7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri complessi: funzione somma 8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEEsercizi Es0: Somma immaginari Es1: Conta elementi Es2: Primi Es3: Calcolo punto medio Es4: Occorrenze Es5: Moltiplicazione tra matrici Es6: Inserimento nel SIT 9
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 1: Conta elementi 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 2: Primi Data una matrice M RxCxZ (3 dimensioni) popalata da interi positivi Si scriva un programma in C che, data la matrice M, dopo aver richiesto le dimensioni e averla fatta popolare dall’utente (numeri positivi), dica quanti numeri primi contiene Per il conteggio dei numeri primi si deve scrivere una funzione ContaPrimi che accetta la matrice M come uno degli ingressi Si deve scrivere una funzione TestPrimo che, dato un numero, dice se questo è primo o meno 11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 3: Calcolo punto medio Si definisca una struttura dati in grado di rappresentare un punto in un piano cartesiano Si scriva quindi una funzione in C che utilizzi tale struttura e che, ricevuti in ingresso due punti p0 e p1, calcoli e restituisca le coordinate del punto medio pm del segmento che li collega Es.: p0 = (1,1), p1 = (2,2) pm = (1.5, 1.5) 12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 4: Occorrenze Si scriva una funzione in C che: Presa in ingresso una matrice di caratteri minuscoli di dimensione RxC, con R e C definiti dall’utente Restituisce come risultato il numero delle occorrenze per ciascuna delle vocali presenti nella matrice 13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 5: Moltiplicazione tra matrici Si scriva un programma in C che, date due matrici di interi M1 e M2, ne calcola la moltiplicazione La moltiplicazione viene svolta tramite una funzione moltm 14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 6: Inserimento nel SIT Si realizzi una struttura dati per la gestione degli studenti del SIT, il Santa Institute of Technology Per ogni studente ci interessa: Nome, cognome, data di nascita, numero di telefono, , matricola, indirizzo abitazione (via, numero civico, città, provincia, cap), corso di studio (identificato da 3 caratteri max) e i voti dei 31 esami che devono essere sostenuti per potersi l’aureare Si scriva quindi una funzione in C che permette l’inserimento degli studenti nel SIT 15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE BUON LAVORO! 16