[Algoritmi] Ricorsione e fattoriale
Ciao a tutti. Ho il flow-chat generale della ritorsione, in foto.
Come si applica, ad esempio, per il calcolo del fattoriale di 5?
Come si applica, ad esempio, per il calcolo del fattoriale di 5?

Risposte
non vedo nessuna foto... comununque ti interessa l'algoritmo ricorsivo per il determinante? se sí, quale linguaggio?
Ecco la foto...

non so cosa vuoi...
ti do il codice di una funzione c
int fattoriale (int n)
{
if ((n==0)||(n==1)) {return 1;}
return (n*fattoriale(n-1));
}
ti do il codice di una funzione c
int fattoriale (int n)
{
if ((n==0)||(n==1)) {return 1;}
return (n*fattoriale(n-1));
}
Dopo questa immagine sono sempre più convinto della inutilità dei flowchart. Conosco molto bene la ricorsione ma mi ci è voluto un po' per capire cosa dovrebbero significare le varie scritte. Oltretutto non ha nulla a che vedere con la ricorsione. Confronta il tuo flowchart con il corrispondente pseudocodice per esempio:
Ho cambiato i nomi di \(\chi\) e \(\psi\) in X e Q per comodità. Suppongo che da qualche parte avesse definito queste funzioni. Senza sapere cosa rappresentano non mi è chiaro quale sia il tuo obiettivo. Vuoi convertire una funzione ricorsiva in una iterativa? Altro?
function F(x1, ..., xn, y) C = 0 z = X(x1, ..., xn) while y == C z = Q(x1, ..., xn, C, z) C = C+1 return z end
Ho cambiato i nomi di \(\chi\) e \(\psi\) in X e Q per comodità. Suppongo che da qualche parte avesse definito queste funzioni. Senza sapere cosa rappresentano non mi è chiaro quale sia il tuo obiettivo. Vuoi convertire una funzione ricorsiva in una iterativa? Altro?
Mi viene dato quel flowchart come flowchart generale di qualsiasi ricorsione. Solo che non si capisce niente. Io volevo provare a calcolare con quell'algoritmo il fattoriale di $n$ ma non sapevo da dove iniziare...
Non vedo come possa rappresentare la ricorsione se essa non appare da nessuna parte.. Inoltre non è assolutamente chiaro cosa dovrebbero rappresentare le varie parti. Mi chiedo perché complicare inutilmente la ricorsione in questo modo. È un concetto semplice e nella maggior parte dei casi in cui ha senso usarla è abbastanza immediato applicare il metodo..