DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio –...

16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Lab 5: 24 Aprile 2014 Marco D. Santambrogio – [email protected] Gianluca Durelli – [email protected] Ver. aggiornata al 13 Aprile 2014

Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio –...

Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 5: 24 Aprile 2014Lab 5: 24 Aprile 2014

Marco D. Santambrogio – [email protected] Durelli – [email protected]

Ver. aggiornata al 13 Aprile 2014

Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

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: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

EserciziEsercizi

• Es0: Somma immaginari• Es1: Conta elementi• Es2: Primi• Es3: Calcolo punto medio• Es4: Occorrenze• Es5: Moltiplicazione tra matrici

• Es6: Inserimento nel SIT

3

Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 0: Numeri complessiExe 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

Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri complessi: Numeri complessi: soluzionesoluzione

5

Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri complessi: Numeri complessi: strutture dati e prototipistrutture dati e prototipi

6

Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri complessi: mainNumeri complessi: main

7

Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Numeri complessi: funzione sommaNumeri complessi: funzione somma

8

Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

EserciziEsercizi

• Es0: Somma immaginari• Es1: Conta elementi• Es2: Primi• Es3: Calcolo punto medio• Es4: Occorrenze• Es5: Moltiplicazione tra matrici

• Es6: Inserimento nel SIT

9

Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 1: Conta elementiExe 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

Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 2: PrimiExe 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

Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 3: Calcolo punto Exe 3: Calcolo punto mediomedio• 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

Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 4: OccorrenzeExe 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

Page 14: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 5: Moltiplicazione tra Exe 5: Moltiplicazione tra matricimatrici

• 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

Page 15: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Exe 6: Inserimento nel Exe 6: Inserimento nel SITSIT• 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, email, 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

Page 16: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• BUON LAVORO!

16