Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio11:esercitazioni:esercitazione1

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
informatica:sol:laboratorio11:esercitazioni:esercitazione1 [04/03/2011 alle 09:49 (14 anni fa)] – [Esercizio 4: sul debugging] Susanna Pelagattiinformatica:sol:laboratorio11:esercitazioni:esercitazione1 [04/03/2011 alle 09:57 (14 anni fa)] (versione attuale) – [Esercizio 1: sul debugging] Susanna Pelagatti
Linea 6: Linea 6:
  
  
-===== Esercizio 1: liste concatenate di interi =====+===== Esercizio 1: sul debugging ===== 
 +Usare il debugger [[http://www.gnu.org/software/ddd/manual/|ddd]] per trovare cosa non va nel seguente programma C:  
 +<code> 
 +#include <stdio.h> 
 +#include <stdlib.h> 
 +#include <unistd.h> 
 +#include <time.h> 
 +#define N 5 
 + 
 +int main(void) 
 +
 +  int a[N]; 
 +  int i; 
 +  srand(time(NULL)); 
 +  i=0; 
 +  while (i<N) 
 +    { 
 +       
 +      a[++i]=rand()%2; 
 +      printf("iterazione %d\n",i); 
 +    }  
 +  printf("exiting ...\n");  
 +
 +</code> 
 +in pratica il codice, salvato in "file.c" compilato con  
 +<code> 
 +gcc -Wall -pedantic -o ese file.c 
 +</code> 
 +ed eseguito con  
 +<code> 
 +$ ./ese 
 +</code> 
 +va inspiegabilmente in ciclo all'interno del ciclo. Per eseguire in modalita' interattiva di debugging: 
 +  * Compilare con opzione "-g", ad esempio <code> 
 +gcc -Wall -pedantic -g -o ese file.c 
 +</code> 
 +  * lanciare l'eseguibile usando il debugger come in <code> 
 +$ ddd ./ese 
 +</code> 
 + a questo punto e' possibile fermare il programma durante la sua esecuzione, ispezionare le variabili etc.. 
 + 
 +//Elaborazione//: Per i solutori piu' che abili, provare a trovare cosa non va nei due programmi C nei due programmi in {{:informatica:sol:laboratorio11:esercitazioni:esempi-debug.tar|esempi.tar}} 
 + 
 +===== 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 50: Linea 93:
 Testare il funzionamento delle funzioni implementate con un opportuno ''main()''. Testare il funzionamento delle funzioni implementate con un opportuno ''main()''.
  
-===== Esercizio 2: map e reduce su liste =====+===== Esercizio 3: map e reduce su liste =====
  
 Usando le liste dell'esercizio 1 implementare le seguenti funzioni: Usando le liste dell'esercizio 1 implementare le seguenti funzioni:
Linea 72: Linea 115:
 Testare il risultato con un opportuno main. Testare il risultato con un opportuno main.
  
-===== Esercizio 3: Libreria di liste =====+===== Esercizio 4: Libreria di liste =====
  
 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. 
informatica/sol/laboratorio11/esercitazioni/esercitazione1.1299232196.txt.gz · Ultima modifica: 04/03/2011 alle 09:49 (14 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki