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:50 (14 anni fa)] – [Esercizio 1: liste concatenate di interi] 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 4: sul debugging =====+===== Esercizio 1: sul debugging =====
 Usare il debugger [[http://www.gnu.org/software/ddd/manual/|ddd]] per trovare cosa non va nel seguente programma C:  Usare il debugger [[http://www.gnu.org/software/ddd/manual/|ddd]] per trovare cosa non va nel seguente programma C: 
 <code> <code>
-TBA+#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> </code>
 in pratica il codice, salvato in "file.c" compilato con  in pratica il codice, salvato in "file.c" compilato con 
Linea 19: Linea 38:
 $ ./ese $ ./ese
 </code> </code>
-va inspiegabilmente in ciclo all'interno di un apparentemente innocuo ''for''. Per eseguire in modalita' interattiva di debugging:+va inspiegabilmente in ciclo all'interno del ciclo. Per eseguire in modalita' interattiva di debugging:
   * Compilare con opzione "-g", ad esempio <code>   * Compilare con opzione "-g", ad esempio <code>
 gcc -Wall -pedantic -g -o ese file.c gcc -Wall -pedantic -g -o ese file.c
Linea 27: Linea 46:
 </code> </code>
  a questo punto e' possibile fermare il programma durante la sua esecuzione, ispezionare le variabili etc..  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 ===== ===== Esercizio 2: liste concatenate di interi =====
Linea 72: 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 94: 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.1299232238.txt.gz · Ultima modifica: 04/03/2011 alle 09:50 (14 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki