informatica:sol:laboratorio11:esercitazioni:esercitazione1
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Prossima revisione | Revisione precedente | ||
| informatica:sol:laboratorio11:esercitazioni:esercitazione1 [28/02/2011 alle 14:45 (15 anni fa)] – creata Susanna Pelagatti | informatica:sol:laboratorio11:esercitazioni:esercitazione1 [04/03/2011 alle 09:57 (15 anni fa)] (versione attuale) – [Esercizio 1: sul debugging] Susanna Pelagatti | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| - | ====== Esercitazione | + | ====== Esercitazione |
| - | Dove si approfondiscono alcune caratteristiche del C sequenziale: | + | Dove si richiama il C sequenziale: |
| + | Poi si introduce con un esempio il concetto di libreria (che verra' approfondito nelle lezioni di teoria) | ||
| - | ===== Esercizio 1: liste concatenate di interi ===== | + | ===== Esercizio 1: sul debugging ===== |
| + | Usare il debugger [[http:// | ||
| + | < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #define N 5 | ||
| + | |||
| + | int main(void) | ||
| + | { | ||
| + | int a[N]; | ||
| + | int i; | ||
| + | srand(time(NULL)); | ||
| + | i=0; | ||
| + | while (i<N) | ||
| + | { | ||
| + | |||
| + | a[++i]=rand()%2; | ||
| + | printf(" | ||
| + | } | ||
| + | printf(" | ||
| + | } | ||
| + | </ | ||
| + | in pratica il codice, salvato in " | ||
| + | < | ||
| + | gcc -Wall -pedantic -o ese file.c | ||
| + | </ | ||
| + | ed eseguito con | ||
| + | < | ||
| + | $ ./ese | ||
| + | </ | ||
| + | va inspiegabilmente in ciclo all' | ||
| + | * Compilare con opzione " | ||
| + | gcc -Wall -pedantic -g -o ese file.c | ||
| + | </ | ||
| + | * lanciare l' | ||
| + | $ ddd ./ese | ||
| + | </ | ||
| + | a questo punto e' possibile fermare il programma durante la sua esecuzione, ispezionare le variabili etc.. | ||
| + | |||
| + | // | ||
| + | |||
| + | ===== Esercizio 2: liste concatenate di interi ===== | ||
| Implementare in C le seguenti funzioni che lavorano su liste concatenate di interi di tipo | Implementare in C le seguenti funzioni che lavorano su liste concatenate di interi di tipo | ||
| Linea 20: | Linea 64: | ||
| <code c> | <code c> | ||
| /** crea una lista vuota | /** crea una lista vuota | ||
| - | \returns | + | \retval NULL il puntatore alla lista vuota */ |
| lista newList (void); | lista newList (void); | ||
| Linea 32: | Linea 76: | ||
| | | ||
| - | \returns | + | \retval p puntatore alla nuova lista se l' |
| + | | ||
| + | |||
| */ | */ | ||
| lista insertList (lista l, int n); | lista insertList (lista l, int n); | ||
| Linea 40: | Linea 86: | ||
| | | ||
| - | \returns | + | \retval p puntatore alla nuova lista |
| */ | */ | ||
| lista removeList (lista l, int n); | lista removeList (lista l, int n); | ||
| Linea 47: | Linea 93: | ||
| Testare il funzionamento delle funzioni implementate con un opportuno '' | Testare il funzionamento delle funzioni implementate con un opportuno '' | ||
| - | ===== Esercizio | + | ===== Esercizio |
| Usando le liste dell' | Usando le liste dell' | ||
| Linea 69: | Linea 115: | ||
| Testare il risultato con un opportuno main. | Testare il risultato con un opportuno main. | ||
| - | ===== Esercizio | + | ===== Esercizio |
| Realizzare una libreria che fornisce le operazioni su liste implementate negli esercizi 1 e 2. | Realizzare una libreria che fornisce le operazioni su liste implementate negli esercizi 1 e 2. | ||
| Linea 98: | Linea 144: | ||
| . | . | ||
| - | |||
| - | ===== Esercizio 4: sul debugging ===== | ||
| - | Usare il debugger '' | ||
| - | < | ||
| - | TBA | ||
| - | </ | ||
informatica/sol/laboratorio11/esercitazioni/esercitazione1.1298904355.txt.gz · Ultima modifica: 28/02/2011 alle 14:45 (15 anni fa) da Susanna Pelagatti
