View Full Version : [Java] esame fallito
Mi sfogo un po qui
Oggi ho scoperto di non aver superato la prova di programmazione 2 all'uni.
Ero convintissimo di aver fatto il compito in maniera impeccabile ma evidentemente non è stato cosi
Per un piccolo errore di ottimizzazione non ho superato la prova
Il compito richiedeva un po di metodi vari tra cui il join del contenuto di due liste in una terza che io ho svolto cosi:
Lista back = new Lista(file2);
while(!file1.isEmpty())
{
while(!file2.isEmpty())
{
pila.inserisciCoda((String)file1.getTesta().getInfo() + (String)file2.getTesta().getInfo());
file2.eliminaTesta();
}
file2 = new Lista(back);
file1.eliminaTesta();
}
La prof mi ha spiegato che ho utilizzato la lista in modo sbagliato, perchè non era necessario cancellare ad ogni ciclo l'elemento con eliminaTesta(), ma bastava far avanzare una variabile Nodo con il getNext() e lasciare quindi inalterate le liste.
Ma secondo voi è un errore cosi grave da non permettermi di superare una prova?
Mi sfogo un po qui...
Io le avrei scritto:
list1.addAll(list2);
con un bel ditone anche sul foglio! :fuck:
addall è come un append se non sbaglio
il metodo non richiedeva di unire due liste ma di fare il join di tutti gli elementi della lista 1 con tutti gli elementi della lista 2
inoltre avrei dovuto implementarlo, perchè utilizziamo liste fatte da noi e non quelle già pronte
marcozio84
07-05-2008, 21:27
La prof mi ha spiegato che ho utilizzato la lista in modo sbagliato, perchè non era necessario cancellare ad ogni ciclo l'elemento con eliminaTesta(), ma bastava far avanzare una variabile Nodo con il getNext() e lasciare quindi inalterate le liste.
Ma secondo voi è un errore cosi grave da non permettermi di superare una prova?
Mi dispiace collega, quello che dice la Rosalba non si obietta:read: scherzo!
Speriamo che l'esame (ci) vada bene.
Saluti
Marco
cdimauro
07-05-2008, 22:19
Mi sfogo un po qui
Oggi ho scoperto di non aver superato la prova di programmazione 2 all'uni.
Ero convintissimo di aver fatto il compito in maniera impeccabile ma evidentemente non è stato cosi
Per un piccolo errore di ottimizzazione non ho superato la prova
Il compito richiedeva un po di metodi vari tra cui il join del contenuto di due liste in una terza che io ho svolto cosi:
Lista back = new Lista(file2);
while(!file1.isEmpty())
{
while(!file2.isEmpty())
{
pila.inserisciCoda((String)file1.getTesta().getInfo() + (String)file2.getTesta().getInfo());
file2.eliminaTesta();
}
file2 = new Lista(back);
file1.eliminaTesta();
}
La prof mi ha spiegato che ho utilizzato la lista in modo sbagliato, perchè non era necessario cancellare ad ogni ciclo l'elemento con eliminaTesta(), ma bastava far avanzare una variabile Nodo con il getNext() e lasciare quindi inalterate le liste.
Ma secondo voi è un errore cosi grave da non permettermi di superare una prova?
E' grave se e solo se era richiesto di NON distruggere le liste.
Se lo scopo era soltanto quello di creare una lista contenente la "fusione" di altre 2, la tua soluzione era correttissima e la "Rosalba" ha cannato nel giudizio.
Comunque posta il testo preciso dell'esercizio, in modo da valutare con precisione il tutto.
Si definisce join tra la coppia (a,b) e la tripla (b,a,g) la quadrupla (a,b,a,g). Una coppia puà essere congiunta con una tripla se:
a) il secondo elemento della prima coppia coincide con il primo elemento della tripla;
b) il primo elemento della coppia è uguale al secondo elemento della tripla.
Dati due file contenente in ogni riga coppie di caratteri
ES:
File1:
(a,b)
(d,f)
(d,b)
….
File2:
(b,a,g)
(b,f,f)
….
1) Caricare le coppie in File1 in una opportuna struttura dati A, le triple in File2 in una struttura B.
2) Inserire in uno stack le quadruple (a,b,a,g) create facendo la join tra tutte le coppie di A e tutte le triple di B.
3) Scorrere gli elementi dello stack e scriverli un file di output.
L’implementazione deve contenere le classi con i metodi necessari al funzionamento. I metodi devono essere commentati sinteticamente. E’ necessario implementare una classe di test contenente il metodo main.
Qui sul forum ho listato il codice di più facile comprensione.
La pila non è pila, e il join dei valori non è fatto seguendo le regole dell'esercizio.
cioè qui fa il join di tutti i valori come se soddisfa il requisito della quadrupla e semplicemente unendo le 2 stringhe
nel compito l'ho fatto in maniera corretta
cdimauro
08-05-2008, 05:54
I requisiti del problema sono stati soddisfatti dalla soluzione che hai proposto (ovviamente sto facendo fede a ciò che hai scritto), quindi il giudizio della tua professoressa è sbagliato.
Al più poteva metterti un voto più basso, se ti voleva penalizzare a causa dello "stile" usato per la tua soluzione.
Come programmatori abbiamo un compito ben preciso: trovare una (o più) soluzione che soddisfi a tutti i requisiti del problema che ci viene proposto.
Questa è una cosa che dovrebbero ricordare SEMPRE sia i docenti che gli studenti.
Io andrei a parlare con la tua prof (tra l'altro quando frequentavo Informatica, fino a qualche anno fa, avevo una collega che si chiamava Rosalba: non vorrei fosse lei :p) per chiedere conto e ragione della bocciatura.
(ovviamente sto facendo fede a ciò che hai scritto)
gli unici 2 errori che ho fatto:
1)ho utilizzato LISTA1 = LISTA2 per l'assegnamento e non LISTA1 = new LISTA(lista2);
2)alla fine del compito, in out.write() mi sono dimenticato di inserire il ciclo con la conseguenza di aver stampato nel file, un solo elemento
QUESTi li considero errori non quello che mi contesta lei
una settimana dopo il compito c'è stata la possibilità di viisionarlo e farsi dire il motivo per cui non è stato superato
ho cercato di dirgli che per un "errore" del genera poteva abbassarmi il voto ma non eliminarlo del tutto.non cè stata ragione e la motivazione è stata:con la tua soluzione non ha senso utilizzare un struttura dati LISTA
il mio NON è un errore, ma un problema di OTTIMIZZAZIONE, avrei voluto gridargli,
non ho avuto la forza di replicare, perchè mi conosco e avrei finito per combinare qualche casino con le parole
oltre tutto, era una prova in itinere.
Il problema non è il superamento del compito, che alla fine non mi cambia molto avendo ancora altre occasioni. Ma forse non potete capire lo stato in cui ci si sente quando si finisce un compito, sicuri al 100% di averlo superato e poi scoprire che per un motivo BANALE il compito viene cestinato.
è stata una delle rare volte che nella mia carriera scolastica, sono uscito dalla stanza dicendomi: Ho fatto un gran compito. è stato facile...sono un grande
ho 3 scelte:
1)andare li e contestare il compito.ho qualche possibilità di convincerla e ottenere cosi un voto bassissimo ottentendo anche che al prossimo compito sarà ancora più severa facendomi pesare tutti i piccoli errori
2) invitarla nel forum a partecipare a questa discussione. :D
3)accettare e andare avanti
credo che per questa volta, farò finta di nulla visto che ho ancora altre occasioni prima della chiusura degli esami
addall è come un append se non sbaglio
il metodo non richiedeva di unire due liste ma di fare il join di tutti gli elementi della lista 1 con tutti gli elementi della lista 2
inoltre avrei dovuto implementarlo, perchè utilizziamo liste fatte da noi e non quelle già pronte
Scusa, parlando di "join" ho capito un'altra cosa.
cdimauro
08-05-2008, 08:56
gli unici 2 errori che ho fatto:
1)ho utilizzato LISTA1 = LISTA2 per l'assegnamento e non LISTA1 = new LISTA(lista2);
2)alla fine del compito, in out.write() mi sono dimenticato di inserire il ciclo con la conseguenza di aver stampato nel file, un solo elemento
QUESTi li considero errori non quello che mi contesta lei
una settimana dopo il compito c'è stata la possibilità di viisionarlo e farsi dire il motivo per cui non è stato superato
ho cercato di dirgli che per un "errore" del genera poteva abbassarmi il voto ma non eliminarlo del tutto.non cè stata ragione e la motivazione è stata:con la tua soluzione non ha senso utilizzare un struttura dati LISTA
il mio NON è un errore, ma un problema di OTTIMIZZAZIONE, avrei voluto gridargli,
non ho avuto la forza di replicare, perchè mi conosco e avrei finito per combinare qualche casino con le parole
oltre tutto, era una prova in itinere.
Il problema non è il superamento del compito, che alla fine non mi cambia molto avendo ancora altre occasioni. Ma forse non potete capire lo stato in cui ci si sente quando si finisce un compito, sicuri al 100% di averlo superato e poi scoprire che per un motivo BANALE il compito viene cestinato.
è stata una delle rare volte che nella mia carriera scolastica, sono uscito dalla stanza dicendomi: Ho fatto un gran compito. è stato facile...sono un grande
ho 3 scelte:
1)andare li e contestare il compito.ho qualche possibilità di convincerla e ottenere cosi un voto bassissimo ottentendo anche che al prossimo compito sarà ancora più severa facendomi pesare tutti i piccoli errori
2) invitarla nel forum a partecipare a questa discussione. :D
3)accettare e andare avanti
credo che per questa volta, farò finta di nulla visto che ho ancora altre occasioni prima della chiusura degli esami
Io sono diverso: all'università ero abituato a fare la guerra ai professori se ritenevo di avere ragione. Alla fine ne sono uscito lo stesso.
Per me poteva abbassarti il voto e basta, perché non hai fatto degli errori madornali e/o tali da compromettere del tutto l'esito della prova.
Comunque se non te la senti, passa avanti. Ti servirà da lezione e la prossima volta saprai, da buon informatico, come comportarti. :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.