Strumenti Utente

Strumenti Sito


fisica:informatica:201516:primoanno:faq

Frequently Asked Questions

ASSEGNAMENTO 3 : Valori riornati dalle funzioni ''media'' e ''deviazione''

Queste due funzioni devono restituire 0 se tutto e' andato bene e -1 se si e' verificato un errore.

ASSEGNAMENTO 3 : Consegnate anche se non passa il ''test four''

Son stati segnalati diversi problemi con il test four, consegnate anche se questo test non viene superato.

ASSEGNAMENTO 3 : si deve chiamare la perror all'interno delle funzioni che dobbiamo realizzare e che sono dichiarate in ''raggi.h'' ?

No, se si verifica un errore basta segnalarlo come specificato nei ocmmenti, eventualmente settando errno. La perror() la chiama (se vuole) chi utilizza la funzione (come succede per le funzioni di libreria che usiamo di solito es: fopen())

ASSEGNAMENTO 2 e 3 : si possono definire nuove funzioni oltre quelle in ''percolation.h'' ?

Si!

ASSEGNAMENTO 3 : la funzione inserisci deve ritornare il valore -1 se si verificano “errori di allocazione”; ciò vuol dire che dobbiamo utilizzare la funzione leggi_registrazione all’interno di questa?

No, l'elemento lo avete gia' e' passato come parametro. La funzione deve ritornare -1 se l'elemento non puo' essere inserito nella lista (per esempio, perche' l e' uguale a NULL).

ASSEGNAMENTO 3 : il campo ''nelem'' non viene utilizzato nelle funzioni fornite dai docenti e' corretto ?

Si! Questo campo non viene mai usato in questo assegnamento. Ignoratelo! Se volete potete anche cancellarlo dalla struttura.

ASSEGNAMENTO 3 : errore nei file di check del kit messo in linea inizialmente

Nel tar messo in linea venerdi' 20/05 (e adesso corretto) era presente nella directory DATA un file di check errato, test_four_out_position.check. Quindi potete scaricare il nuovo tar messo inlinea e sostituire SOLO quel file nella directory DATA, oppure scaricare solo il file da sostituire da qua. Grazie della segnalazione.

ASSEGNAMENTO 3 : errore alla linea 87 del test_three.c e test_four.c

La linea 87 in entrambi i file e' un refuso

 
set_ordinata_position(ll);

e va semplicemente commentata

 
/* set_ordinata_position(ll); */

correggetelo

ASSEGNAMENTO 2 : errore nel ''make consegna'' ?

Si, c'e' scritto

 
make clean

invece che

 
make cleanall

correggetelo aggiungendo i caratteri mancanti

ASSEGNAMENTO 2 : perche' c'e' scritto che le righe non sono più di 200 caratteri ?

Per permettervi di allocare un array di lunghezza fissa se usare la fgets() (con la fscanf() non serve).

ASSEGNAMENTO 2 : perche' la funzione che libera la matrice ha un triplo puntatore ?

Per permettervi di mettere a NULL il puntatore dopo la deallocazione in modo da non avere riferimenti a memoria già deallocata in giro, basta fare

*pm = NULL; 

come ultima operazione della funzione (dopo aver deallocato).

ASSEGNAMENTO 2 : come possiamo settare errno ?

Tutte le istruzioni sono nel manuale accessibili con

man errno 

in pratica va incluso errno.h e deve essere assegnato alla variabile globale errno uno dei valori predefiniti (quello più significativo per l'errore che si verificato. Non possono essere scelti altri valori altrimenti la perror() non funziona più correttamente. Settate errno solo quando è richiesto esplicitamente nei commenti del .h

ASSEGNAMENTO 2 : ma le funzioni ''first_step'' e ''step'' devono usare -1 o 0 -2 ?

C'e' una discrepanza fra specifuche PDF e file percolation.h la definizione corretta e'

/** setta il primo step (inserisce -2 in corrispondenza del centro della matrice) (n/2,m/2) parte intera inferiore
    \param mat puntatore alla matrice
    \param n numero di righe
    \param m numero di colonne

   
    \retval 0 se tutto è andato bene
    \retval -1 se si è verificato un errore (es n <= 0 ) setta errno 
              con un codice di errore opportuno


 */
int first_step (double ** mat, unsigned n, unsigned m);

/** fa evolvere la simulazione di uno step, ovvero mette a -2 il prossimo elemento invaso scegliendolo come l'elemento con il più piccolo valore di permeabilità sulla frontiera (insieme degli elementi adiacenti a quelli gi\`a con valore -1)
L'ambiente e' toroidale, ovvero l'ultima colonna e' adiacente alla prima e l'ultima riga e' adiacente alla prima.
    \param mat puntatore alla matrice
    \param n numero di righe
    \param m numero di colonne
    \param a estremo inf intervallo permeabilità
    \param b estremo sup intervallo permeabilità

   
    \retval 0 se tutto è andato bene
    \retval -1 se si è verificato un errore (es n <= 0 ) setta errno 
              con un codice di errore opportuno
 */
int step (double ** mat, unsigned n, unsigned m, double a, double b);

ASSEGNAMENTO 2 : refuso nella funzione ''new_matrix'', file ''percolation_docenti.c''

Per chi ha scaricato il kit prima del 3 maggio 2016. Nella funzione new_matrix precisamente alla linea 35 il ciclo

for(j=0;j<i;j++)
 free(a[i]); 

va corretto con

for(j=0;j<i;j++)
  free(a[j]); 

ASSEGNAMENTO 1 : I due esercizi devono essere realizzati in due file diversi ?

No, dovete consegnare un unico file walk.c con una sola funzione main() che prima effettua le stampe della simulazione e alla fine stampa le statistiche.

ASSEGNAMENTO 1 : Alcuni errori nel README ?

Si ci sono alcuni errori nel file README

  • La frase contenente la parola PDF e' un refuso. Deve essere consegnato solo il file walk.c adeguatamente commentato e nessun file PDF
  • Al momento della consegna non si deve specificare gruppo A o B ma “primo anno” o “secondo anno”
fisica/informatica/201516/primoanno/faq.txt · Ultima modifica: 07/06/2016 alle 08:15 (3 anni fa) da Susanna Pelagatti