Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio16:esercitazionib: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:laboratorio16:esercitazionib:esercitazione1 [23/02/2016 alle 11:54 (9 anni fa)] Susanna Pelagattiinformatica:sol:laboratorio16:esercitazionib:esercitazione1 [01/03/2016 alle 09:21 (9 anni fa)] (versione attuale) – [Esercizio 1: sul debugging] Susanna Pelagatti
Linea 47: Linea 47:
  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 nei due programmi in {{:informatica:sol:laboratorio11:esercitazioni:esempi-debug.tar|esempi.tar}}+//Elaborazione//: Per i solutori piu' che abili, provare a trovare cosa non va nel programma che risolve il problema dell' [[http://it.wikipedia.org/wiki/Gioco_della_vita|Game of life]] in {{esempi-debug.tar|esempi.tar}}
  
 ===== Esercizio 2: liste concatenate di interi ===== ===== Esercizio 2: liste concatenate di interi =====
Linea 58: Linea 58:
 } nodo; } nodo;
  
-typedef nodo * lista;+typedef nodo * lista_t;
 </code> </code>
  
Linea 65: Linea 65:
 /** crea una lista vuota /** crea una lista vuota
    \retval NULL il puntatore alla lista vuota */    \retval NULL il puntatore alla lista vuota */
-lista newList (void);+lista_t newList (void);
  
 /** dealloca la lista  /** dealloca la lista 
     \param l la lista     \param l la lista
 */ */
-void freeList (lista l);+void freeList (lista_t l);
  
 /** iserisce n nella lista l creando un nuovo nodo   /** iserisce n nella lista l creando un nuovo nodo  
Linea 80: Linea 80:
        
     */     */
-lista insertList (lista l, int n);+lista_t insertList (lista_t l, int n);
  
 /** cancella n dalla lista (se c'e') /** cancella n dalla lista (se c'e')
Linea 88: Linea 88:
    \retval p puntatore alla nuova lista    \retval p puntatore alla nuova lista
     */     */
-lista removeList (lista l, int n);+lista_t removeList (lista_t l, int n); 
 + 
 +/** salva la lista su file (formato testuale o binario a scelta dello studente) 
 +   \param f  file su cui salvare la lista (gia' aperto)  
 +   \param l  puntatore alla testa della lista 
 +    
 +   \retval -1 se si e' verificato un errore 
 +   \retval 0 se tutto e' andato bene 
 +    */ 
 +int saveList (FILE* f, lista_t l); 
 + 
 +/** legge la lista da file (formato testuale o binario a scelta dello studente) 
 +   \param f  file da cui leggere la lista (gia' aperto)  
 +    
 +   \retval NULL se si e' verificato un errore 
 +   \retval p puntatore alla testa della lista se tutto e' andato bene 
 +    */ 
 +lista_t readList (FILE* f); 
  
 </code> </code>
Linea 102: Linea 120:
  
 */ */
-void mapList (int (*f) (int), lista l);+void mapList (int (*f) (int), lista_t l);
  
 /** combina gli elementi della lista l usando un operatore binario associativo  /** combina gli elementi della lista l usando un operatore binario associativo 
-   \param l la lsita+   \param l la lista
    \param f l'operatore binario    \param f l'operatore binario
    \param en l'elemento neutro di f    \param en l'elemento neutro di f
  
    \return la 'somma' degli elementi di l secondo f (l1, f ( l2 , f (... f (lN, en)))...))*/    \return la 'somma' degli elementi di l secondo f (l1, f ( l2 , f (... f (lN, en)))...))*/
-int reduceList(int (*f) (int,int), int en, lista l);+int reduceList(int (*f) (int,int), int en, lista_t l);
 </code> </code>
  
 Testare il risultato con un opportuno ''main''. Testare il risultato con un opportuno ''main''.
 +
informatica/sol/laboratorio16/esercitazionib/esercitazione1.1456228489.txt.gz · Ultima modifica: 23/02/2016 alle 11:54 (9 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki