DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 4: 10 Aprile 2014
Marco D. Santambrogio – [email protected]
Gianluca Durelli – [email protected]
Ver. aggiornata al 6 Aprile 2014
Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Esercitarsi sui costrutti visti a lezione
 Tutto il C fatto fino a qui
 In particolare: matrici e strutture
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Conta elementi (matrice)
Es1: Primi
Es2: Calcolo punto medio
Es3: Occorenze
Es4: Inserimento nel SIT
Es5: Scambia interi
Es6: Inserimento con funzioni
3
Exe 0: Conta elementi (matrice)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Scrivere un programma in C (no
funzioni) che:
 ricevuto in ingresso una matrice NxM di
interi ed un numero X
 determini quanti numeri nella matrice non
sono divisibili per il numero dato
4
Exe 0: Soluzione completa… base
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
5
Exe 0: I dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
6
Exe 0: Popolare la matrice
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
7
Exe 0: Popolare la matrice
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fisso la riga (i) per la colonna
8
Exe 0: Popolare la matrice
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fisso la riga (i) per la colonna
Fisso la riga (i) e la colonna (j)
9
Exe 0: Popolare la matrice
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fisso la riga (i) per la colonna
Fisso la riga (i) e la colonna (j)
Elemento in posizione:
riga: i, colonna: j
10
Exe 0: Cerco gli elementi divisibili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
11
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Conta elementi (matrice)
Es1: Primi
Es2: Calcolo punto medio
Es3: Occorenze
Es4: Inserimento nel SIT
Es5: Scambia interi
Es6: Inserimento con funzioni
12
Exe 1: Primi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
 Si deve scrivere una funzione TestPrimo che,
dato un numero, dice se questo è primo o
meno
13
Exe 2: Calcolo punto medio
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si definisca una struttura dati in grado di
rappresentare un punto in un piano
cartesiano
• Si scriva quindi un programma che utilizzi
tale struttura e che, ricevuti in ingresso
due punti p0 e p1, calcoli le coordinate del
punto medio pm del segmento che li
collega
Es.:
 p0 = (1,1) , p1 = (2,2)
 pm = (1.5, 1.5)
14
Exe 3: Occorrenze
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma in C (no
funzioni) 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
15
Exe 4: Inserimento nel SIT
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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 un programma in C, no
funzioni, che permette l’inserimento degli
studenti nel SIT
16
Exe 5: Scambia interi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma in C che, dati due
numeri interi, invoca una funzione swap
che ne scambia i valori
 La funzione swap, per quanto visto fino ad
oggi a lezione, ha la seguente interfaccia:
void swap(int, int);
 Il programma funziona correttamente?
• Come si potrebbe risolvere l’eventuale
problema?
17
Exe 6: Inserimento con funzioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma in C che,
partendo dall’esercizio 4 di oggi,
permetta che l’inserimento degli
studenti avvenga tramite l’invocazione
di una funzione
• Si scriva quindi anche la funzione
PopolaStudenti che permette
l’inserimento degli studenti nel registro
del SIT
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
19
Scarica

V2 - PPT