Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Chuck_son on 21-02-2011, 16:59:29



Title: ultra dubbi sulla 3 prova
Post by: Chuck_son on 21-02-2011, 16:59:29
sinceramente non ricordo proprio da come si comincia... cioe ok creo le classi con l'uml ma poi l'implementazione dei metodi dove viene fatta? nell'uml stesso? dobbiamo implementare anche i costruttori e altri metodi per inizializzare le variabili d'istanza?


Title: Re:ultra dubbi sulla 3 prova
Post by: FReddy on 21-02-2011, 18:52:10
Per quanto riguarda i metodi specifici (quelli del punto A) in teoria dovresti metterli vicino ai digrammi come commenti uml, in pratica (almeno per me) causa mancanza di spazio li sistemo dove posso, facendo però capire quale metodo sia e a quale classe appartiene.

Per il punto B tu devi scrivere solo il main. Per quanto riguarda l'inizializzazione degli oggetti devi fare solo uno switch (o degli if a cascata) che in base ad un valore casuale inizializzano l'oggetto di questa o quella classe. Per quanto riguarda i parametri dei costruttori non li devi mettere (mettici dei puntini).

Ti assicuro che nonostante ciò in 3 simulazioni che ho fatto, il compito l'ho concluso entro i 90 minuti per il rotto della cuffia. .sisi


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 21-02-2011, 19:04:30
ma quindi noi non dobbiamo inizializzare nessuna variabile??


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 21-02-2011, 19:06:14
dobbiamo solo far "finta" di sapere cosa fare?

e un altra cosa... quando ad esempio di parla di determinati attributi di alcuni oggetti... con piu caratteristiche .. si dovrebbe creare una classe e l'oggetto poi restituisce la classe no?


Title: Re:ultra dubbi sulla 3 prova
Post by: FReddy on 21-02-2011, 22:28:28
Per quanto riguarda l'inizializzazione, come ti ho detto si tratta di un'inizializzazione fittizia, anche perché se ci pensi nella seconda prova avevamo la metà delle classi ed erano classi con attributi piuttosto semplici e già la loro inizializzazione non era poi così banale, immaginati inizializzare una cosa del genere  :nono

Quote
e un altra cosa... quando ad esempio di parla di determinati attributi di alcuni oggetti... con piu caratteristiche .. si dovrebbe creare una classe e l'oggetto poi restituisce la classe no?

Non ho capito, riformula  .penso


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 10:28:19

Quote
e un altra cosa... quando ad esempio di parla di determinati attributi di alcuni oggetti... con piu caratteristiche .. si dovrebbe creare una classe e l'oggetto poi restituisce la classe no?

Non ho capito, riformula  .penso
[/quote]


le canne da pesca hanno un mulinello...... bla bla bla... bla bla bla.... i mulinelli sono caratterizzati da data fabbricazione e data collaudo...
dovrebbe essere svolto cosi?
ovviamente  in canne da pesca abbiamo:

+ mulinelli: mulinelli

e abbiamo una classe mulinelli:

+data fabbricazione:data
+ data collaudo: data

che a sua volta genera una classe data che non implementiamo

giusto?


Title: Re:ultra dubbi sulla 3 prova
Post by: FReddy on 22-02-2011, 11:27:47
Basandomi sul tuo esempio ti dico che la classe data ci deve essere, ovviamente solo nell'uml (come le altre del resto  .sisi). Anche perché se ci fai caso in tutte le prove precedenti sono stati necessari oggetti di tipo data, inoltre se ricordi quando il prof ci ha spiegato come fare la terza prova pure nell'esempio dei videogiochi era necessaria la classe data e l'abbiamo creata (sempre in uml).

Ti ho risposto?


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 13:14:08
Basandomi sul tuo esempio ti dico che la classe data ci deve essere, ovviamente solo nell'uml (come le altre del resto  .sisi). Anche perché se ci fai caso in tutte le prove precedenti sono stati necessari oggetti di tipo data, inoltre se ricordi quando il prof ci ha spiegato come fare la terza prova pure nell'esempio dei videogiochi era necessaria la classe data e l'abbiamo creata (sempre in uml).

Ti ho risposto?

sisi ok ma quindi creiamo la classe data e la lasciamo vuota?


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 13:15:31
quando dice :possono subire l’operazione di sintonizzazione manuale

la variabile è boolean?


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 13:16:40
quando dice:si trovi la Tv analogica più longeva

se non abbiamo metodi per sapere la longevità, dobbiamo crearlo noi e farlo figurare nell'uml e implementato su una nota?


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 13:21:03
cioe in poce parole ci dice implicitamente di creare metodi per avere cio che dice il testo?


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 13:22:47
l'implementazione consiste solo nel dire.. getTrue() restituisce true
oppure
public boolean getTrue(){
return true;
}


Title: Re:ultra dubbi sulla 3 prova
Post by: FReddy on 22-02-2011, 15:35:40
La prossima volta fai un messaggio unico (anche se in questo modo alza la media  .whistling)

La classe data la puoi considerare con tre attributi int giorno, mese ed anno, ed un metodo differenza che ad esempio ti calcola i giorni intercorrenti la data espressa dall'oggetto e la data corrente (basta mettere un piccolo commento uml accanto al metodo che puoi chiamare tipo getDifferenza() ).

Per come l'ho interpretata io l'operazione di sintonizzazione va implementata come un metodo void senza parametri.

Quote
cioe in poce parole ci dice implicitamente di creare metodi per avere cio che dice il testo?

Beh si, ma considera che anche se il testo non lo dice i metodi get ti conviene metterli comunque perché poi, appunto, alcuni ti potranno servire nel momento in cui devi scrivere il codice.

Quote
l'implementazione consiste solo nel dire.. getTrue() restituisce true
oppure
public boolean getTrue(){
return true;
}

Ehm... cosa sarebbe?  .penso


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 15:51:42

Quote
l'implementazione consiste solo nel dire.. getTrue() restituisce true
oppure
public boolean getTrue(){
return true;
}

Ehm... cosa sarebbe?  .penso


cioè quando dice : SE NE DIA UN IMPLEMENTAZIONE... lui intende l'implementazione che viene fatta nelle note??

cioe questa implementazione come deve essere fatta?? cosi come si fa in uml senza mettere

public boolean blablabla(){
return blabla;
}


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 15:59:33
il famoso getPrezzo()  lui lo vuole per vedere se abbiamo capito come sovrascrivere i metodi?

quindi in una classe figlia getPrezzo() è uguale a:

super.getPrezzo()*blablabla-blablabla ??

o dobbiamo ricopiare cosi come dice il testo?


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 16:09:38
inoltre cosa intende per la clonazione..

e quando dice di ordinare gli oggetti in un altro array.. dovremmo fare cosa??
ci conviene che prima ricopiamo gli oggetti che ci servono e dopo li ordiniamo con un bubblesort?


Title: Re:ultra dubbi sulla 3 prova
Post by: glicoz~ on 22-02-2011, 16:57:56
Chiedo scusa per l'intrusione, ma mi sorge un dubbio. Nel grafico UML, oltre alle variabili di istanza delle varie classi, dobbiamo anche inserire tutte i metodi che potrebbero servirci (non quelli segnati nel testo dell'esercizio dal prof, ma altri metodi)? No vero? .huh

Altra domanda, in alcuni esercizi viene richiesta una cerca quantita di memoria, ad esempio per dei chip che devono essere implementati all'interno dell'UML (per esempio 3 Kb). Di preciso come devono essere implementati?


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 22-02-2011, 18:10:01
Si, nel diagramma UML devi scrivere anche altri metodi che ti sembrano necessari mettere.


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 22-02-2011, 18:11:12
Per la seconda domanda:
Devi creare una classe "Chip" che al suo interno contiene come variabile d'istanza memoria: int[3072]

3072 perchè 1024*3= 3kb


Title: Re:ultra dubbi sulla 3 prova
Post by: glicoz~ on 22-02-2011, 18:30:58
Perfetto, la seconda domanda mi teneva ancora con il dubbio, grazie mille Impact ;)


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 22-02-2011, 19:19:07
Figurati  :-OK


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 19:21:06
ahhaha ok anche io aspetto risposte ahha .poverinoi


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 22-02-2011, 19:24:45
inoltre cosa intende per la clonazione..

e quando dice di ordinare gli oggetti in un altro array.. dovremmo fare cosa??
ci conviene che prima ricopiamo gli oggetti che ci servono e dopo li ordiniamo con un bubblesort?
devi creare un altro array... es: vett2 e se hanno la stessa dimensione i due array copia di pari passo gli stessi elementi.
Poi dopo ordinali tramite la bubblesort.  .wink
Ti faccio vedere un esempio di un esercizio che ho fatto:
Code:
//si ordinino (in base al peso) in un array indipendente tutte le canne da pesca piccole della collezione (gli oggetti non devono essere clonati)
int numCannePiccole=0;
for (int i=0;i<vett.length;i++)
{
if (vett[i] instanceof CannePiccole)
numCannePiccole++;
}
CannePiccole [] vett2 = new CannePiccole [numCannePiccole];
for (int i=0,k=0;i<vett.length;i++)
{
if (vett[i] instanceof CannePiccole)
vett2[k++] = (CannePiccole)vett[i];
}
for (int i=0;i<vett2.length;i++)
{
for (int j=i+1;j<vett2.length;j++)
{
if (vett2[j].getPeso() < vett2[i].getPeso())
{
CannePiccole temp = vett2[j];
vett2[j] = vett2[i];
vett2[i] = temp;
}
}
System.out.println(vett2[i]+ " ");


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 20:28:10
okok grazie intendevo proprio cosi :D ma il controllo che fai quando crei l'array e nello stesso tempo lo ordina... sei sicuro sia esatto?


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 22-02-2011, 20:30:52
Si si, i miei codici sono tutti testati. Ho sempre riscritto tutte le classi e il relativo main di ogni esercizio della terza prova per testare il corretto funzionamento


Title: Re:ultra dubbi sulla 3 prova
Post by: FReddy on 22-02-2011, 20:34:09
Quote
Per la seconda domanda:
Devi creare una classe "Chip" che al suo interno contiene come variabile d'istanza memoria: int[3072]

3072 perchè 1024*3= 3kb

O forse è meglio una matrice di byte?  .penso

Per quanto riguarda l'esercizio di prima non lo conosco ma, dato che canne_piccole è una classe è più corretto usare una variabile static per contare il numero di istanze


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 22-02-2011, 20:58:24
Si si, i miei codici sono tutti testati. Ho sempre riscritto tutte le classi e il relativo main di ogni esercizio della terza prova per testare il corretto funzionamento

aaa scusa pensavo che ordinavi il vett2 ancor prima di completarlo ajah okok


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 23-02-2011, 10:04:27
per quanto riguarda i metodi che ci dà , da scrivere l'esercizio.. dobbiamo implementarli solo dicendo quella poca descrizione dell'esercizio?

ad esempio:
gli strumenti da taglio hanno la possibilità di  disinfettare...



.. oppure quando si parla di codici??
ovvero gli strumenti hanno un codice seriale (20 char) come lo facciamo figurare? con un array da 20?


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 23-02-2011, 10:39:25
-seriale:char[20]

e poi fai un metodo pubblico nella stessa classe che puoi dichiarare come String, passando alla stringa 20 caratteri casuali.

+getSeriale():String


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 23-02-2011, 10:45:46
-seriale:char[20]

e poi fai un metodo pubblico nella stessa classe che puoi dichiarare come String, passando alla stringa 20 caratteri casuali.

+getSeriale():String


okok grazie ma per quanto rigurda la domanda prima?

cioe quando dice : gli strumenti da taglio possono eseguire l'operazione di disinfezione...

come lo implementiamo ?


Title: Re:ultra dubbi sulla 3 prova
Post by: Impact on 23-02-2011, 11:59:39
-disinfezione: boolean

e poi fai una classe GetDisinfezione() che ti restituisce casualmente true, se la vuoi fare o false se non la vuoi fare.


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 23-02-2011, 12:09:54
ma quindi nell'implementazione dobbiamo mettere una random e in base ai valori restituiamo true o false?


Title: Re:ultra dubbi sulla 3 prova
Post by: Andrea2990 on 23-02-2011, 12:22:41
puoi anche fare così:
Code:
+disinfetta():void
e basta, se non ti serve un valore booleano per fare calcoli.
Come ha fatto vedere il prof nell'esempio dei videogiochi:
Code:
+connetti():void


Title: Re:ultra dubbi sulla 3 prova
Post by: Chuck_son on 23-02-2011, 12:47:54
puoi anche fare così:
Code:
+disinfetta():void
e basta, se non ti serve un valore booleano per fare calcoli.
Come ha fatto vedere il prof nell'esempio dei videogiochi:
Code:
+connetti():void

okok questo per quanto riguarda la classe... ma nei commenti?