Precedente :: Successivo |
Autore |
Messaggio |
GIGOLOKO Mortale pio


Registrato: 26/09/07 14:50 Messaggi: 27
|
Inviato: 17 Feb 2009 23:52 Oggetto: Ricorsione MIPS |
|
|
salve raga sono disperato qualcuno potrebbe dirmi le regole base per fare una funzione ricorsiva
ovviamente
sono casi base
e ricorsione
ma come si implementano in assembler mips
ad esempio questa come se fa
function recur(n:integer,z:integer):integer;
var m:integer;
begin
x=resto di n/5
if (x<0)
then recur :=1
else m:=call(z)
recur:=(recur(m)+recur(x))
end;
 |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 18 Feb 2009 15:08 Oggetto: Re: Ricorsione MIPS |
|
|
ricorsione in assembler? usa uno stack per 'appoggiare' i valori quando chiami la funzione e riprendili quando termini... |
|
Top |
|
 |
GIGOLOKO Mortale pio


Registrato: 26/09/07 14:50 Messaggi: 27
|
Inviato: 18 Feb 2009 15:56 Oggetto: |
|
|
certo lo stack va usato ma non basta per far si che la funzione sia ricorsiva
serve un implementazione particolare
nessuno ci riesce? |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 18 Feb 2009 17:16 Oggetto: |
|
|
GIGOLOKO ha scritto: | serve un implementazione particolare |
scusami, non ho capito in cosa dovrebbe essere particolare. Non è più complicato che calcolare il fattoriale di un numero come
n! = n * (n-1)!
no? |
|
Top |
|
 |
GIGOLOKO Mortale pio


Registrato: 26/09/07 14:50 Messaggi: 27
|
Inviato: 20 Feb 2009 03:15 Oggetto: |
|
|
be in quel caso non e molto difficile farla ma in quello che ho postato sopra
e un po piu complicata la cosa fidati ammenoche tu non sappia farla
e ci sono casi ancora piu difficili di quello che non sto a postare |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 20 Feb 2009 12:53 Oggetto: |
|
|
GIGOLOKO ha scritto: | be in quel caso non e molto difficile farla ma in quello che ho postato sopra
e un po piu complicata la cosa fidati ammenoche tu non sappia farla
e ci sono casi ancora piu difficili di quello che non sto a postare |
in ogni caso c'è almeno un errore: se la tua funzione recur() accetta due parametri interi in input per restituirne uno in output allora le chiamate alla funzione recur() stessa che fai qui:
Codice: | recur:=(recur(m)+recur(x)) |
non ha senso. A meno che non fosse ad esempio
Codice: | recur:=recur(m,x) |
|
|
Top |
|
 |
GIGOLOKO Mortale pio


Registrato: 26/09/07 14:50 Messaggi: 27
|
Inviato: 20 Feb 2009 21:36 Oggetto: |
|
|
anche per me non hanno senso ne questa ne le altre
ma per quel trimone del prof si |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 23 Feb 2009 13:59 Oggetto: |
|
|
GIGOLOKO ha scritto: | anche per me non hanno senso ne questa ne le altre
ma per quel trimone del prof si |
credo sia lecito domandargli chiarimenti, no? |
|
Top |
|
 |
|