Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 2, 9 CFU => Topic started by: Alfredo Pulvirenti on 08-06-2009, 10:53:02



Title: Seconda prova in itinere.
Post by: Alfredo Pulvirenti on 08-06-2009, 10:53:02
Si ricorda che la seconda prova in itinere sarà **domani 9 giugno ore 10:00**  aula Chiarenza.
Maggiori dettagli li trovate sul sito web del corso.

In bocca al lupo a tutti!
A.Pulvirenti


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 08-06-2009, 10:59:05
 .huh crepi!!! :[Emoticon] Asd:


Title: Re:Seconda prova in itinere.
Post by: Poteto on 08-06-2009, 12:14:11
crepi o.o  :[Emoticon] PC Asd:


Title: Re:Seconda prova in itinere.
Post by: rox on 08-06-2009, 14:20:27
crepi!!


Title: Re:Seconda prova in itinere.
Post by: andreacannella on 08-06-2009, 14:27:50
Crepi!

A domani!


Title: Re:Seconda prova in itinere.
Post by: whitefox on 08-06-2009, 14:56:18
Crepi!!!


Title: Re:Seconda prova in itinere.
Post by: corel_86 on 08-06-2009, 15:21:26
crepi


Title: Re:Seconda prova in itinere.
Post by: Fantius on 08-06-2009, 16:19:40
crepi  :[Emoticon] Asd:


Title: Re:Seconda prova in itinere.
Post by: Aigor on 08-06-2009, 16:30:06
crepi!! :boh


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 08-06-2009, 16:48:21
crepi!! :boh
intruso?? :[Emoticon] Asd:


Title: Re:Seconda prova in itinere.
Post by: Aigor on 08-06-2009, 16:48:59

Beh vi auguro buona fortuna  .wink


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 08-06-2009, 16:54:18
grazie  .smile


Title: Re:Seconda prova in itinere.
Post by: thomas89 on 08-06-2009, 17:33:05
superCREPI!  .sisi


Title: Re:Seconda prova in itinere.
Post by: Gam on 08-06-2009, 17:50:22
  CREPI!!!!!!!!!!!!!!
.ciaociao


Title: Re:Seconda prova in itinere.
Post by: Alex_47 on 08-06-2009, 18:21:32
Crepi!!


Title: Re:Seconda prova in itinere.
Post by: Eleirgab on 08-06-2009, 18:25:47
Crepi il lupo, cappuccetto rosso, il cacciatore e la nonna  .whistling


Title: Re:Seconda prova in itinere.
Post by: Bart46 on 08-06-2009, 19:22:14
Crepi!!!!


Title: Re:Seconda prova in itinere.
Post by: Zeridos on 08-06-2009, 19:32:24
Crepi il lupo, cappuccetto rosso, il cacciatore e la nonna  .whistling

Oddio, una strage asd.

Cmq che crepi sto lupo va.


Title: Re:Seconda prova in itinere.
Post by: MiKKu on 08-06-2009, 19:33:55
Crepi lui e ki l'ha messo al mondo!  :-ciao


Title: Re:Seconda prova in itinere.
Post by: Fr3d3R!K on 08-06-2009, 20:59:11
mi sa che i lupi finiscono a rischio estinzione...


Title: Re:Seconda prova in itinere.
Post by: Gam on 09-06-2009, 12:32:40
Mi sa che in estinzione ci andiamo noi con la prova che è uscita oggi, e i lupi rimangono!!! :"-(
 .poverinoi


Title: Re:Seconda prova in itinere.
Post by: Zeridos on 09-06-2009, 12:39:49
Personalmente credo di aver aperto il lupo, la nonna, cappuccetto rosso, il cacciatore e anche un passante che guardava la scena!!! :in_fiamme:

Spero che il prof concordi cmq  :pray  :[Emoticon] PC Asd:

Ciauz


Title: Re:Seconda prova in itinere.
Post by: feboss on 09-06-2009, 15:25:57
Io non sono riuscito a venire.Qualcuno può postare il testo dell'esame?


Title: Re:Seconda prova in itinere.
Post by: maucel89 on 09-06-2009, 18:55:55
Compito B
Dato un grafo direzionato descritto mediante una stringa con la seguente struttura:
- I primi elementi sono i nodi del grafo;
- I successivi n elementi, separati da virgola ma racchiusi tra parentesi quadre sono
  le rispettive liste di adiacenza. Quando la lista di adiacenza è vuota, tra le due
  parentesi non ci sono elementi.

Ad esempio la stringa [a,b,c,d,e,f,[ b],[d,c],[e],[],[ b],[ b]] rappresenta il seguente grafo:
(http://maucel89.altervista.org/grafoProvaInitinere.png)

1. Leggere la stringa e creare un grafo rappresentato con lista di adiacenza.
2. Implementare un metodo che trovi la coppia di nodi che si trovano a distanza
    massima nel grafo: la distanza è intesa come il numero degli archi da attraversare
    per congiungere la coppia. Es.: distanza(f,e)=3; distanza(d,e)=0 (per convenzione
    la distanza da nodo u al nodo v è 0 quando non esiste alcun cammino che li
    connette). Il metodo deve restituire solo il valore della distanza massima.


Title: Re:Seconda prova in itinere.
Post by: maucel89 on 10-06-2009, 00:49:44
Ed ecco la mia possibile soluzione al problema del compito B:
Code:
/**

 * @(#)SecondaProvaInitinere.java

 *

 * SecondaProvaInitinere application

 *

 * @author Maucel89

 * @version 1.00 2009/6/9

 */

import java.util.StringTokenizer;

public class SecondaProvaInitinere {

   

    public static void main(String[] args) {

    GrafoLA g=new GrafoLA();

    String Sgrafo="[a,b,c,d,e,f,[b],[d,c],[e],[],[b],[b]]";

    StringTokenizer st=new StringTokenizer(Sgrafo.substring(1,Sgrafo.length()-1),",");

    String s;

    while((s=st.nextToken()).charAt(0)!='[')

    g.aggiungiNodo(s);

    int i=0;

    try{

    while(true){

    String nodo=new String();

    int ctrl=0;

    if(s.charAt(0)=='[')ctrl=1;

    if(s.charAt(s.length()-1)==']')nodo+=s.substring(ctrl,s.length()-1);

    else nodo+=s.substring(ctrl);

    //System.out.println(s+" "+nodo);

    if(!nodo.isEmpty()){

    NodoLA ori=g.getNodo(i);

    NodoLA des=g.search(nodo);

    //System.out.println(ori+" "+des);

    g.aggiungiArco(ori,des);

    }

    if(s.charAt(s.length()-1)==']')i++;

    s=st.nextToken();

    }

    }catch(java.util.NoSuchElementException e){}

    // TODO, add your application code

    System.out.println(g+"\nIl cammino più lungo è: "+maxDistances(g));

    }

    public static int maxDistances(GrafoLA g){

    int max=0;

    for(int i=0;i<g.nodi.getSize()-1;i++)

    for(int j=0;j<g.nodi.getSize();j++){

    NodoLA x=(NodoLA)g.nodi.get(i);

    NodoLA y=(NodoLA)g.nodi.get(j);

    int d=calcolaDistanza(x,y,g.nodi.getSize());

    if(d>max)max=d;

    System.out.println(d);

    }

    return max;

    }

    public static int calcolaDistanza(NodoLA x,NodoLA y,int n){

    return calcolaDistanza(x,y,n,n);

    }

    public static int calcolaDistanza(NodoLA x,NodoLA y,int nv,int n){

    if(nv==0)return nv;

    if(x.isArco(y))return n-nv;

    int max=0;

    for(ListNode aux=y.listaDiAdiacenza.getHead();aux!=null;aux=aux.getNext()){

    int d=calcolaDistanza(x,(NodoLA)aux.getInfo(),nv-1,n);

    if(d>max)max=d;

    }

    return max;

    }

}
Di funzionare funziona, ma spero che il prof lo consideri "BELLO!" come dice lui...
Intanto incrociamo le dita!! Ciao ciao >:)


Title: Re:Seconda prova in itinere.
Post by: Fr3d3R!K on 10-06-2009, 07:23:51
il compito A aveva una stringa simile però con:
1. le lettere rappresentavano le informazioni dei nodi;
2. Le parentesi quadre delimitavano il legame padre-figlio (ad esempio a[ b ] significava b figlio di a);
3. Le virgole separavano i fratelli (ad esempio a[ b,c ] significava che a ha due figli b,c fratelli tra loro);
Implementare un metodo bulkload che inserisca la stringa in un albero n-ario rispettando i legami parentali.
Implementare una search che cerchi i padri con esattamente k (k in input) figli e li restituisca in una lista linkata.
Entrambi i metodi da fare ricorsivi.
Saluti.


Title: Re:Seconda prova in itinere.
Post by: Gam on 10-06-2009, 08:49:50
Ragazzi, riguardo il compito A, per ottenere la relazione padre-figlio a partire dalla stringa data in input, era obbligatorio suddividerla ricorsivamente, oppure potevo risolvere questo primo passo inserendo le varie relazioni tra caratteri, in un array di stringhe e poi gestire l'inserimento ricorsivamente?


Title: Re:Seconda prova in itinere.
Post by: Crasher on 10-06-2009, 12:00:04
COMPITO A:

Dato un albero n-ario descritto attraverso una stringa con la seguente struttura:
  • Un insieme di nodi fratelli viene rappresentato come una lista di nodi separati da "," contenuti tra "[","]".
  • Ciascun nodo è immediatamente seguito dalla lista dei suoi figli (se esiste).

La stringa è: [a[b[c,d[e,f,z],t[h,l]],q,p[r,k]]]

a ha figlio b,q,p
b ha figlio c,d,t
c ha fratello d,t
...

1. Implementare un metodo bulkload, ricorsivo, che prenda in input la stringa e crei l'alberi n-ario che faccia uso della rappresentazione primofiglio, fratello.

2. Dato in input k, implementare un metodo searchk, ricorsivo, che restituisca, in una lista linkata, tutti i nodi che hanno esattamente k foglie.


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 11-06-2009, 08:05:24
qualcuno sa verso quando si dovrebbero sapere i risultati?


Title: Re:Seconda prova in itinere.
Post by: Gam on 11-06-2009, 08:22:46
penso che come al solito più' di una settimana passi. Ma a voi come è andato il compito?


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 11-06-2009, 09:09:08
bè quello sicuramente..comunque io avevo il compito B ma il secondo punto non sono riuscita a farlo bene, o meglio non non riuscivo a farlo e quindi il tempo è volato prima di capire bene come doveva essere strutturata la cosa..tutto dipende dal suo metro di valutazione..


Title: Re:Seconda prova in itinere.
Post by: nicky on 11-06-2009, 11:14:48
la speranza è l'ultima a morire   .quoto


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 11-06-2009, 11:18:31
 :[Emoticon] Asd: già..


Title: Re:Seconda prova in itinere.
Post by: kaesar on 11-06-2009, 12:31:38
bè quello sicuramente..comunque io avevo il compito B ma il secondo punto non sono riuscita a farlo bene, o meglio non non riuscivo a farlo e quindi il tempo è volato prima di capire bene come doveva essere strutturata la cosa..tutto dipende dal suo metro di valutazione..
speriamo xke sono nelle tue stesse condizioni :-OK :-OK


Title: Re:Seconda prova in itinere.
Post by: poty on 11-06-2009, 16:59:11
ragazzi nel compito B con il grafo, bisognava tener conto dei già visitati? ovvero anche se è orientato, potrebbe esserci un arco che va da A a B e anche da B ad A....cmq sto cavolo di esercizio ammazza il cervello....lo odio...io neanche l'ho fatta l'itinere...


Title: Re:Seconda prova in itinere.
Post by: kaesar on 11-06-2009, 17:17:31
certo dove tener conto dell'orientamento infatti d ke riceva solamente da b nn aveva nessun collegamento come lista d'adiacenza


Title: Re:Seconda prova in itinere.
Post by: nicky on 13-06-2009, 12:00:22
Qualcuno ha notizie dei risultati ? .penso


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 13-06-2009, 15:41:07
ho mandato mail al prof..ha detto non prima della fine della settimana entrante.


Title: Re:Seconda prova in itinere.
Post by: nicky on 15-06-2009, 09:17:44
grazie vivi


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 15-06-2009, 09:19:41
prego ma ancora 1sett di agonia  :[Emoticon] Asd:


Title: Re:Seconda prova in itinere.
Post by: nicky on 19-06-2009, 08:41:08
dai la settimana è quasi finita...


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 19-06-2009, 08:45:33
 :"-( non ce la faccio piùùùùùùùùùù almeno una si mette il cuore in pace.. :-)|


Title: Re:Seconda prova in itinere.
Post by: Fr3d3R!K on 19-06-2009, 10:02:37
finalmente l'attesa è finita. Ecco i risultati freschi freschi!
http://www.dmi.unict.it/~apulvirenti/prog2/itinere.htm (http://www.dmi.unict.it/~apulvirenti/prog2/itinere.htm)
Saluti!


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 19-06-2009, 10:06:34
ma non sono quelli della prima prova?! .huh


Title: Re:Seconda prova in itinere.
Post by: Fr3d3R!K on 19-06-2009, 10:08:52
no.


Title: Re:Seconda prova in itinere.
Post by: elbartoalieno on 19-06-2009, 10:10:31
ma a questo link ci sono quelli vecchi non aggiornati  .bah


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 19-06-2009, 10:10:45
bè siccome il mio è uguale..mi è sembrato strano anche perchè nella sua pagina non compare nessun avviso nuovo..come fai ad essere sicuro?.....è solo che non vorrei false illusioni  .huh .poverinoi .wink


Title: Re:Seconda prova in itinere.
Post by: elbartoalieno on 19-06-2009, 10:11:46
anche il mio voto è uguale...sono quelli vecchi... .leggo


Title: Re:Seconda prova in itinere.
Post by: Zeridos on 19-06-2009, 10:12:01
finalmente l'attesa è finita. Ecco i risultati freschi freschi!
http://www.dmi.unict.it/~apulvirenti/prog2/itinere.htm (http://www.dmi.unict.it/~apulvirenti/prog2/itinere.htm)
Saluti!

ma non sono quelli della prima prova?! .huh
ma a questo link ci sono quelli vecchi non aggiornati  .bah

Esatto, sono quelli vecchi  :[Emoticon] Asd:

Se volete sfogarvi venite in aula studio che ve lo tengo fermo  :yoh

Ciauz

P.S. LoL ci stavo pensando anche io a uno scherzo simile  :-OK


Title: Re:Seconda prova in itinere.
Post by: Fantius on 19-06-2009, 10:13:11
io ve lo indico (se non lo conoscete)  :-)L


Title: Re:Seconda prova in itinere.
Post by: Fr3d3R!K on 19-06-2009, 10:13:44
zeridos sei un traditore!!! .rido
comunque non è vero, era un'idea sua, sono stato costretto!!!
P.S. mi sa che ora mi cercheranno, ma non per le magliette... .whistling


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 19-06-2009, 10:14:55
ma non è il momento di fare skerzi  .huh
Fr3d3R!K non ti giustificare sei complice  :[Emoticon] Asd:


Title: Re:Seconda prova in itinere.
Post by: Zeridos on 19-06-2009, 10:17:35
zeridos sei un traditore!!! .rido
comunque non è vero, era un'idea sua, sono stato costretto!!!
P.S. mi sa che ora mi cercheranno, ma non per le magliette... .whistling

Muahahahaha non hai prove!!!!

Eppoi ti proccupavi che non trovavi gente per le magliette, ora le puoi barattare per la salvezza  :[Emoticon] Asd:

 :yoh


Title: Re:Seconda prova in itinere.
Post by: Fr3d3R!K on 19-06-2009, 10:18:03
vivynz credimi sono vittima. Il fatto è che sono piccolo e bianco (quasi come calimero) e zeridos è grande grosso e cattivo!!! .poverinoi


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 19-06-2009, 10:19:31
ahaha vabbè tanto non mi andava di fare un viaggio fino a ct per cercarti ahaha


Title: Re:Seconda prova in itinere.
Post by: nicky on 19-06-2009, 11:07:17
ci sono cascata anch'io :"-(


Title: Re:Seconda prova in itinere.
Post by: Vivynz on 19-06-2009, 11:09:25
e certo..in questo clima tutti ci caschiamo  :[Emoticon] Asd:


Title: Re:Seconda prova in itinere.
Post by: Eleirgab on 19-06-2009, 19:21:29
ahaha vabbè tanto non mi andava di fare un viaggio fino a ct per cercarti ahaha

Io sono a catania e non avrei problemi  :[Emoticon] Rosik Asd: