Precedente :: Successivo |
Autore |
Messaggio |
Tomaux Utente adulto


Registrato: 12/08/04 17:56 Messaggi: 2494 Residenza: bergamo
|
Inviato: Gio Apr 13, 2006 12:07 pm Oggetto: [info3] materiale |
|
|
il materiale di info tre � protetto da password, qualcuno la sa? _________________ A volte mi fermo e penso:
"THE EARTHQUAKE!!! OH MY FUCKING GOD, THE EARTHQUAKE!!!"
|
|
Top |
|
 |
Ste Utente adolescente


Registrato: 28/04/04 15:06 Messaggi: 464 Residenza: Busnago
|
Inviato: Gio Apr 13, 2006 12:09 pm Oggetto: |
|
|
Quello che ti serve �:
Userid: info3
Passwd:info32006BG
che bello pensare a dover studiare info3 con questo sole di fuori...  _________________ Nella botte piccola c'� il vino buono...  |
|
Top |
|
 |
Tomaux Utente adulto


Registrato: 12/08/04 17:56 Messaggi: 2494 Residenza: bergamo
|
Inviato: Gio Apr 13, 2006 12:12 pm Oggetto: |
|
|
nessun ingegnere serio ha bisogno del sole...
...grazie comunque! _________________ A volte mi fermo e penso:
"THE EARTHQUAKE!!! OH MY FUCKING GOD, THE EARTHQUAKE!!!"
|
|
Top |
|
 |
Ste Utente adolescente


Registrato: 28/04/04 15:06 Messaggi: 464 Residenza: Busnago
|
Inviato: Gio Apr 13, 2006 12:21 pm Oggetto: |
|
|
e chi l'ha detto che noi siamo seri?  _________________ Nella botte piccola c'� il vino buono...  |
|
Top |
|
 |
Andrea Moderatore

Registrato: 23/12/03 13:10 Messaggi: 5200
|
Inviato: Gio Apr 13, 2006 12:42 pm Oggetto: |
|
|
Ste ha scritto: | e chi l'ha detto che noi siamo seri?  |
Effettivamente... se leggi la mia firma... |
|
Top |
|
 |
Pastacolpesto Utente adolescente


Registrato: 19/05/04 18:47 Messaggi: 730 Residenza: Bergamo
|
Inviato: Dom Apr 23, 2006 9:07 am Oggetto: |
|
|
Posto a titolo informativo la risposta che ho dato ad un mp:
In line block : e' un blocco che non fa parte n� di una funzione , n� di una procedura. In particolare � identificato dalla apertura e chiusura di parentesi graffe. Il record di attivazione contine solamente spazio per le variabili locali e per i risultati intermedi.
Tail recursion : si tratta di una funzione che quando chiama un'altra funzione ritorna lo stesso valore della funzione chiamata senza nessuna altra computazione.
Es: fun g(x) = if(x==0) return x else return f(x) .
In particolare nell'esempio la funzione f(x) � una chiamata tail. Sono molto utili in quanto � possibile sovrascrivere un record di attivazione nuovo
per la funzione chiamata(nell'esempio f(x)) al record di attivazione della funzione chiamante (nell'esempio g(x)), in quanto se il risultato dipende solo dalla funzione chiamata (f(x)) posso buttare via il precedente che non mi serve piu e quindi posso risparmiare memoria.
Functional block : e' un blocco che corrisponde alla chiamata di una funzione. Ovviamente il record di attivazione viene gestito diversamente che per gli in-line block, in quanto sono presenti delle entry per l?RA (return address), l'RRA (return result address),
i parametri attuali, le variabili locali, risultati intermedi, eventuali chiamate ad altre funzioni.
Static Scope e Dinamic Scope:
Sono due differenti tipi di gestione delle variabili globali. In particolare nello Static scope le variabili globali di un blocco in-line
sono assunte essere quelle di un blocco racchiudente immediatamente "piu grande". Con i record di attivazione questa cosa viene gestita tramite l'Access Link.
Nello scope dinamico invece le variabili globali sono considerate essre quelle dell'ultimo record di attivazione creato. Con i record di attivazione questa cosa viene
gestita tramite il control link (che per definizione punta sempre all'activation record precedente).
C'� un esempio di codice sulle slide in cui i record di attivazione vengono gestiti contemporaneamente con static e dinamic scope. E' il lucido prima della tail recursion.
Importante guardare cosa fanno access link e control link.
Secondo voi queste definizioni sono giuste? _________________ La teoria � quando si sa tutto e niente funziona. La pratica � quando tutto funziona e nessuno sa il perch�. Noi abbiamo messo insieme la teoria e la pratica: non c'� niente che funzioni... e nessuno sa il perch�..
A.Einstein |
|
Top |
|
 |
Endless Utente adulto


Registrato: 23/12/03 18:06 Messaggi: 2905 Residenza: Bergamo (provincia)
|
Inviato: Dom Apr 23, 2006 10:49 am Oggetto: |
|
|
Pastacolpesto ha scritto: | Secondo voi queste definizioni sono giuste? |
Direi di s�. Ma non fidarti...  _________________
Training autogeno: in caso di stress, eseguite il movimento in figura e ripetete:
"Amo il mio lavoro! Amo il mio lavoro! Amo il mio lavoro!" |
|
Top |
|
 |
Pastacolpesto Utente adolescente


Registrato: 19/05/04 18:47 Messaggi: 730 Residenza: Bergamo
|
Inviato: Dom Apr 23, 2006 11:50 am Oggetto: |
|
|
Cosa significa la scrittura di un metodo generico del tipo:
public <T> T accept(Visitor<T> ask);
Sulle slide dice che dovrebbe essere la scrittura corrispondente ad un metodo che ritorna un oggetto di tipo generico. La mia domanda �: non dovrebbe essere solamente public <T> accept(Visitor<T> ask);???? _________________ La teoria � quando si sa tutto e niente funziona. La pratica � quando tutto funziona e nessuno sa il perch�. Noi abbiamo messo insieme la teoria e la pratica: non c'� niente che funzioni... e nessuno sa il perch�..
A.Einstein |
|
Top |
|
 |
Andrea Moderatore

Registrato: 23/12/03 13:10 Messaggi: 5200
|
Inviato: Dom Apr 23, 2006 12:06 pm Oggetto: |
|
|
Pastacolpesto ha scritto: | Cosa significa la scrittura di un metodo generico del tipo:
public <T> T accept(Visitor<T> ask);
Sulle slide dice che dovrebbe essere la scrittura corrispondente ad un metodo che ritorna un oggetto di tipo generico. La mia domanda �: non dovrebbe essere solamente public <T> accept(Visitor<T> ask);???? |
La scrittura � giusta: la sintassi vuole che tu dichiari
Codice: | modificatori <tipi_generici> tipo_di_ritorno nomeMetodo (tipo rgomento1, tipo argomento2) |
Usando la tua sintassi non specifichi il tipo del valore di ritorno  |
|
Top |
|
 |
concorde27 Utente adolescente


Registrato: 06/09/05 14:39 Messaggi: 352 Residenza: Ponteranica
|
Inviato: Dom Apr 23, 2006 12:15 pm Oggetto: |
|
|
Ma se io ho fun g(x) = if(x==0) return x else return f(x)+4 � sempre una funzione tail?
Come faccio a rappresentare il +4 nello scope?
Grazie |
|
Top |
|
 |
maurizio Utente maturo


Registrato: 07/01/05 12:26 Messaggi: 1523 Residenza: Vidalengo
|
Inviato: Dom Apr 23, 2006 12:18 pm Oggetto: |
|
|
concorde27 ha scritto: | Ma se io ho fun g(x) = if(x==0) return x else return f(x)+4 � sempre una funzione tail?
Come faccio a rappresentare il +4 nello scope?
Grazie |
Io credo che lo consideri durante la fase di esecuzione, cio� quando dopo aver fatto tutti i collegamenti fra i vari RRA "risali" lo stack. Penso sia cos�... |
|
Top |
|
 |
vinz Amministratore


Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Dom Apr 23, 2006 12:54 pm Oggetto: |
|
|
Pastacolpesto ha scritto: | Secondo voi queste definizioni sono giuste? |
Secondo me, s�.
Grazie Pastacolpesto, molto chiare: sono utili per il ripasso di questa ultima ora. _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
 |
Pastacolpesto Utente adolescente


Registrato: 19/05/04 18:47 Messaggi: 730 Residenza: Bergamo
|
Inviato: Dom Apr 23, 2006 6:07 pm Oggetto: |
|
|
concorde27 ha scritto: | Ma se io ho fun g(x) = if(x==0) return x else return f(x)+4 � sempre una funzione tail? |
Credo non sia una funzione tail perch� il valore ritornato nell'else non � solamente quello della funzione f(x), ma c'� anche un +4.
Inoltre credo che il + 4 non corrisponda a uno spazio di memoria nei record di attivazione, ma venga sommato da te al momento in cui devi computare il valore di ritorno della funzione. _________________ La teoria � quando si sa tutto e niente funziona. La pratica � quando tutto funziona e nessuno sa il perch�. Noi abbiamo messo insieme la teoria e la pratica: non c'� niente che funzioni... e nessuno sa il perch�..
A.Einstein |
|
Top |
|
 |
Pastacolpesto Utente adolescente


Registrato: 19/05/04 18:47 Messaggi: 730 Residenza: Bergamo
|
Inviato: Dom Apr 23, 2006 6:10 pm Oggetto: |
|
|
Pastacolpesto ha scritto: | C'� un esempio di codice sulle slide in cui i record di attivazione vengono gestiti contemporaneamente con static e dinamic scope. E' il lucido prima della tail recursion.
Importante guardare cosa fanno access link e control link. |
Nell'esempio che ho citato nel post precedente , oltre ai record di attivazione per le chiamate f(3) e g(12) vengono anche creati dei record di attivazione con lo spazio per f e g ( il cui contenuto per altrro viene puntinato).
Qualcuno sa perch�? E' forse perch� viene alocata memoria per la definizioni delle funzioni f e g? _________________ La teoria � quando si sa tutto e niente funziona. La pratica � quando tutto funziona e nessuno sa il perch�. Noi abbiamo messo insieme la teoria e la pratica: non c'� niente che funzioni... e nessuno sa il perch�..
A.Einstein |
|
Top |
|
 |
blaze Utente neonato

Registrato: 03/12/04 13:38 Messaggi: 13
|
Inviato: Dom Apr 23, 2006 11:39 pm Oggetto: |
|
|
Pastacolpesto ha scritto: |
Nell'esempio che ho citato nel post precedente , oltre ai record di attivazione per le chiamate f(3) e g(12) vengono anche creati dei record di attivazione con lo spazio per f e g ( il cui contenuto per altrro viene puntinato).
Qualcuno sa perch�? E' forse perch� viene alocata memoria per la definizioni delle funzioni f e g? |
S�, in particolare la dichiarazione di g � nello stesso scope della dichiarazione di x, la dichiarazione di f � nello stesso scope della dichiarazione di g;
Access Link della chiamata f(3) punta alla dichiarazione di f.Access Link della chiamata g(3) punta alla dichiarazione di g. |
|
Top |
|
 |
|