Domande sul Modulo Uno


Re: Cercasi compagni di gruppo

salve come ha consigliato il professore stamane a lezione il progetto è meglio farlo in gruppo visto che io sono solo se c'è qualcuno che vorrebbe unirsi mi faccia sapere subito a liberatof82@gmail.com

-- LiberatoFarisco - 04 Apr 2008

modulo1.c

Introdotte le nuove specifiche, la struttura dell'algoritmo del modulo1 è cambiata?

5. per ogni clausola: 5.1 chiamo la funzione crea_clausola che legge una linea dalla stringa e salva la clausola in un vettore di interi (usando il tipo vec_i) 5.2 chiamo la funzione new_clause ... cosa deve restituire?


-- AndreaLaudoni - 04 Apr 2008

(senza titolo)


-- TizianoCialfi - 05 Apr 2008

(senza titolo)


-- TizianoCialfi - 05 Apr 2008

Cambiamento Prototipi

E' possibile cambiare i prototipi già forniti, per aggiungere ad alcune funzioni un codice di ritorno? Ad esempio nelle funzioni sui vettori, per capire se è andata bene l'allocazione della memoria.

-- FrancescoBrandozzi - 05 Apr 2008

Stampa Finale

Ho un problema con la stampa finale. Invece di stampare tutte le clausole, stampa ripetutamente l'ultima presente nel file, in un numero di volte pari al numero di clausole. Qualcuno di voi ha incontrato lo stesso problema?

-- TizianoCialfi - 06 Apr 2008

Re: Stampa Finale

A me funziona bene la stampa, quindi ci deve essere un errore nella tua funzioen di lettura delle clausole, magari non incrementi qualche puntatore ed elabori sempre la stessa linea del file.

-- DonatoCapitella - 06 Apr 2008

Re: Re: Stampa Finale
Probabilmente ho fatto degli errori nell'implementare le funzioni vecp_vett e/o vecp_ins. Due domande: vecp_vett deve solamente restituire v-ptr o prima bisogna assegnare delle istruzioni? E poi: vecp_ins si comporta in modo identico a veci_ins (tranne il cast da eseguire sul puntatore a void) o anche in questo caso ci sono delle istruzioni in più che non ho considerayto? Grazie dell'aiuto!

-- TizianoCialfi - 07 Apr 2008

Re: Re: Stampa Finale
No ncredo che tu abbia commesso degli errori in quelle funzioni. Controlla se dopo aver creato una clausola con crea_clausola() incrementi il puntatore in per farlo puntare alla prox linea di input.

-- DonatoCapitella - 07 Apr 2008

Re: Re: Stampa Finale
Ho controllato, il puntatore punta alla prossima linea. Sta di fatto che non riesco proprio a capire come mai stampa sempre l'ultima clausola. Avrei capito se avesse stampato sempre la prima, a quel punto era un palese problema di incremento.

-- TizianoCialfi - 07 Apr 2008

Re: Re: Stampa Finale
A questo punto ti consiglio di ricorrere ad un debugger per ispezionare lo stack e vedere un po' ad ogni passo se leggi e inserisci correttamente le clausole all'interno di vec_p.

La cosa certa è che se il main di test stampa sempre la stessa clausola, vuol dire che inserisci sempre la stessa clausola. Parti da questa considerazione e con l'aiuto del debugger cerca di capire dove sta l'intoppo.


-- DonatoCapitella - 07 Apr 2008

Domanda struttura Solver

Ciao. Ho una domanda sulla struttura Solver. Il suo campo clauses è di tipo vec_p* o vec_p? Sul file solver.h figura come vec_p mentre sul file PDF (2 - 4 aprile) figura come un puntatore di tipo vec_p. Penso sia corretto pensarlo come un puntatore di tipo vec_p però desideravo avere qualche conferma. Grazie.

Marco


-- MarcoCarra - 07 Apr 2008

Re: Re: Stampa Finale
Credo di aver capito dove è il problema, però avrei bisogno di un aiuto. Nella funzione vecp_new avvengono sicuramente questi due assegnamenti:

v->el=num_el; v->index=0;

Fin qui ci siamo. Ma per il puntatore, bisogna solo allocare memoria o farlo puntare da qualche parte all'interno della funzione stessa?


-- TizianoCialfi - 07 Apr 2008

Funzione new_clause

"La funzione new_clause rilascia un booleano che indica se la creazione è andata a buon fine."

che si intende per "andata a buon fine"?cioè in quale caso può non andare a buon fine ed in tale caso che tipo di controlli vanno inseriti nel codice?

Inoltre la funzione new_clause non crea una struttura, cioè non deve allocare memoria per la struttura, ma semplicemente riempire i campi della struct clause che gli viene passata come parametro vero?


-- RiccardoAmbrosiDeMagistris - 07 Apr 2008

Date di consegna e modalità

ciao ragazzi. Ho finito l'implementazione del primo modulo, vorrei sapere quando va consegnato e soprattutto come( via mail o va portato al prof. su cd/penna usb)

-- SimoneDiMaulo - 07 Apr 2008

Re: Domanda struttura Solver

La variabile clauses della struttura solver deve essere dichiarata di tipo vec_p se l'allocazione avviene in modo statico, come vec_p* se invece avviene in modo dinamico (utilizzando la malloc).

non ci sono sostanziali differenze.


-- SimoneSilvestri - 07 Apr 2008

aiuto

Vi prego qualcuno ci aiuti non riusciamo a capire bene il progetto!E quel poco che abbiamo capito non va!Se qualcuno mi puo aiutare mi puo contattare su msn a sea_88@hotmail.it cosi facciamo prima che su sto forum anche perchè ho troppe domande.......Helpppppppp

-- SilviaBartolini - 08 Apr 2008

Funzioni ed Enumerazioni Ausiliarie

E' possibile utilizzare funzioni ed enumerazioni ausiliarie? Se si, possono essere dichiarate e definite nel file "modulo1.c"?

-- GiuseppeTreppiedi - 09 Apr 2008

Gestione Errori

Dobbiamo considerare anche i casi in cui il file DIMACS passato in input sia lessicalmente errato? Ad esempio una seconda linea che inizia con 'p' e/o linee di commento tra le clausole vanno considerati errori?
Esempio:
c
p cnf 4 3
1 -2 0
p ...
2 3 0
c
c
1 -4 2 0
-- GiuseppeTreppiedi - 09 Apr 2008

Re: Gestione Errori

o anche:
c
p xxx 4 3
...

o ancora:
c
pcnf43 -----> in questo caso come potremmo distinguere
                       il num di variabili totali dal num di clausole globali?
-- GiuseppeTreppiedi - 09 Apr 2008

IMPORTANTE PER LA CONSEGNA

Riporto quanto detto oggi a lezione perchi non fosse venuto.

1) Il file in input deve essere passato da riga di comando, devono quindi essere commentate le righe:

printf("Immetti il nome del file\n"); scanf("%s",nomefile);

ed inserire qualcosa del tipo:

sprintf(nomefile,”%s”, argv[1]);

2)Non essendo definito nelle specifiche l'output del programma in caso di errore nella sintassi del file di input, si può assumere che il file sia corretto.

Il test del primo modulo sarà svolto con input sintatticamente CORRETTI.

3)L'output atteso deve essere quello della SOLA funzione print_clauses definita clausole.c. Devono quindi essere rimosse/commentate tutte le eventuali stampe presenti.

saluti,

Simone Silvestri


-- SimoneSilvestri - 09 Apr 2008

Re: IMPORTANTE PER LA CONSEGNA

Ho inviato un file .zip contenente tutti i .c i .h e .o del progetto, oltre all'eseguibile e ai file oggetto...

credo di aver strafatto: posso avere la conferma ufficiale se bisogna inviare il progetto COMPILABILE e non COMPILATO, oppure se per mera fortuna e' come ho fatto io che va consegnato?

Saluti


-- FabioTicconi - 10 Apr 2008

IMPORTANTE PER LA CONSEGNA (2)

E' necessario consegnare un file zippato con tutti i file .c .h e il Makefile.

I file compilati sono inutili, in quanto la compilazione sarà comunque effettuata lanciando il comando make nella vostra cartella decompressa.

Prima della scadenza è possibile sottomettere più volte, con l'ovvio effetto di sovrascirvere la versione precedente.

Non abusatene, ma è comunque utile per evitare errori di sottomissione.

Tengo a sottolineare che il progetto deve essere compilabile (niente errori di compilazione) semplicemente lanciando il makefile, fornito da voi nel file .zip, con il comando make.

Deve poi essere possibile lanciare il progetto passando il file di input da riga di comando, ad esempio:

>./modulo1 xxx.txt

E' quindi importante che l'eseguibile si chiami modulo1 (senza estensione), cosa che viene già eseguita dal makefile fornito con il progetto.

L'output deve essere costituito SOLAMENTE dalla stampa della funzione print_clauses definita in clausole.c

Scusate le ripetizioni, meglio essere chiari.

Saluti,

Simone Silvestri


-- SimoneSilvestri - 11 Apr 2008

Sulle modifiche da effettuare

Non si poteva lanciare il modulo1 in questo modo: "echo xxx | ./modulo1" ed evitare le modifiche al codice del progetto? smile

-- DanieleCocca - 11 Apr 2008

Sulla Consegna

Io invece vorrei sapere solo come facciamo a definire i gruppi al momento della consegna... Cioè, come fanno i docenti a sapere il gruppo da chi è stato composto? per lab. di sistemi ci hanno fatto mettere un file all'interno del *.zip con i nomi dei componenti del gruppo. Qui come Dobbiamo fare???

-- DaniloMarchegiano - 12 Apr 2008

riga vuota

nel caso in cui una o più righe sia del tipo: "0", ovvero che sia costituita dal solo carattere di fine linea oppure più spazi seguiti dallo zero, come ci dovremmo comportare? è un errore sintattico? se non lo è, per quella particolare linea, quale sarà l'output corrispondente?
c
p cnf 450 19084
1 2 3 4 5 6 7 8 0
0
9 10 11 12 13 14 0
-- FabioDiBenedetto - 14 Apr 2008

Domanda Consegna

Per quanto riguarda la consegna ho notato che sul form per l'invio del modulo va inserito un solo nome. Dato che era stato detto che era possibile lavorare in gruppo al progetto, come faccio ad inserire i nominativi degli altri miei compagni di gruppo? Grazie.

-- RiccardoMassullo - 14 Apr 2008

Re: Domanda Consegna

inviare la composizione del gruppo per email.

-- FrancescoParisiPresicce - 15 Apr 2008

RISULTATI PRIMO MODULO

All'indirizzo:

http://www.dsi.uniroma1.it/~parisi/handouts/risultati1.html

sono disponibili i risultati relativi alla correzione del primo modulo.


-- SimoneSilvestri - 28 Apr 2008
No such template def TMPL:DEF{PROMPT:thread}
Edit | Attach | Watch | Print version | History: r29 < r28 < r27 < r26 < r25 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r29 - 2018-11-28 - AlessandroBasilici






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback