Casa Finanza personale A Taste of Recursion - dummies

A Taste of Recursion - dummies

Video: OCAML Tutorial 13/33: A Word on Recursion and Recursive Functions 2024

Video: OCAML Tutorial 13/33: A Word on Recursion and Recursive Functions 2024
Anonim

La ricorsione è una parola grande e spaventosa che si sente spesso sulla programmazione, specialmente il tipo frustrante di programmazione che insegnano all'università. Anche se è un concetto facile da descrivere, è davvero una vera mente quando si tratta di capire come funziona la ricorsione. La maggior parte delle persone lo accetta e va avanti. Non qui!

La ricorsione è fondamentalmente il processo di una funzione che si chiama. Ad esempio:

void funct (int x) {funct (x);}

In questa porzione di codice, si vede un terribile esempio di una funzione ricorsiva, ma serve a scopi illustrativi qui: Il funct () chiama se stessa. Questa è ricorsione. Ora, ciò che accade in questo esempio è fondamentalmente un ciclo infinito e, grazie a un qualcosa di tecnico, chiamato lo stack pointe r , il computer si arresta. Ma è solo un'illustrazione.

Affinché la ricorsione funzioni, la funzione deve avere una condizione di salvataggio, proprio come un loop. Pertanto, è necessario testare il valore passato alla funzione ricorsiva o il suo valore di ritorno. Ecco un esempio migliore di una funzione ricorsiva:

void ricorsione (int x) {if (x == 0) return; else {puts ("Boop!"); ricorsione (- x);}}

La funzione ricorsione () accetta il valore x . Se x è uguale a zero, la funzione si attiva. In caso contrario, la funzione viene richiamata di nuovo, ma il valore di x viene ridotto. L'operatore del prefisso di decremento viene utilizzato in modo che il valore di x venga ridotto prima di venga effettuata la chiamata.

La funzione ricorsione di esempio () sputa fondamentalmente il testo Boop! un determinato numero di volte. Quindi se ricorsione () viene chiamato con il valore 10, si vede quel testo visualizzato dieci volte.

La parte assurda della ricorsione è che la funzione continua a chiamarsi, avvolgendosi sempre più strettamente, come se fosse in una spirale. Nell'esempio precedente, la condizione x == 1 alla fine risolve quel pasticcio complicato, ritirandosi sempre più fino a quando la funzione non viene completata.

Il seguente codice mostra un programma completo che utilizza la funzione di ricorsione () di esempio.

#include void ricorsione (int x); int main () {ricorsione (10); return (0);} void ricorsione (int x) {if (x == 0) return; else {puts ("Boop!"); ricorsione (- x);}}

Una dimostrazione comune di ricorsione è una funzione fattoriale. Il fattoriale è il risultato della moltiplicazione di un valore per ciascuno dei suoi numeri interi positivi. Ad esempio:

4! = 4 × 3 × 2 × 1

Il risultato di questo fattoriale è 24. Il computer può anche fare questo calcolo, implementando un ciclo o creando una funzione ricorsiva.Ecco una funzione del genere:

int factorial (int x) {if (x == 1) return (x); else return (x * factorial (x-1));}

Come per le altre funzioni ricorsive, la funzione factorial () contiene una condizione di uscita: x == 1. In caso contrario, la funzione viene richiamata con un valore inferiore al valore corrente di x . Ma tutte le azioni si svolgono con i valori di ritorno.

A Taste of Recursion - dummies

Scelta dell'editore

Sintassi JavaScript selezionata - dummies

Sintassi JavaScript selezionata - dummies

JavaScript è un linguaggio importante per la programmazione, lo sviluppo di giochi e le applicazioni desktop. Di seguito sono riportati gli elementi di sintassi JavaScript più comunemente utilizzati, inclusi i comandi per manipolare le variabili, controllare il flusso del programma e gestire le funzioni. Avviso funzione Descrizione ("messaggio"); Crea una finestra di dialogo a comparsa contenente un messaggio. var myVar = 0; Crea una variabile con un valore iniziale dato. Type is ...

I nuovi CSS3 Border Techniques - dummies

I nuovi CSS3 Border Techniques - dummies

Hanno fatto parte del CSS fin dall'inizio, ma i CSS3 aggiungono nuove opzioni davvero entusiasmanti. I browser moderni ora supportano i bordi creati da un'immagine così come gli angoli arrotondati e le ombre dei riquadri. Queste tecniche promettono di aggiungere nuove straordinarie funzionalità ai tuoi progetti. Confini dell'immagine CSS3 consente di utilizzare un'immagine ...

Scelta dell'editore

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Il componente aggiuntivo Analisi dati (noto nelle precedenti versioni di Excel come Analysis ToolPak o ATP) ti aiuta a fare analisi statistiche di ogni genere - e la previsione delle vendite è sicuramente una sorta di analisi statistica. Un componente aggiuntivo contiene codice Visual Basic: un programma, spesso scritto in una versione di BASIC, che Excel può eseguire. È ...

Utilizzando riferimenti di celle esterne in Excel - dummies

Utilizzando riferimenti di celle esterne in Excel - dummies

Potresti scoprire di avere dati in una cartella di lavoro di Excel che desideri fare riferimento in una formula all'interno di un'altra cartella di lavoro. In tale situazione, è possibile creare un collegamento tra le cartelle di lavoro utilizzando un riferimento di cella esterna. Un riferimento di cella esterna non è altro che un riferimento di cella che risiede in un esterno ...

Utilizzando Excel per calcolare una media basata su criteri - dummy

Utilizzando Excel per calcolare una media basata su criteri - dummy

È Possibile utilizzare Excel per calcolare una media . Immaginalo: devi calcolare una media da un elenco di numeri, usando solo i numeri nell'elenco che corrispondono a una condizione. In altre parole, calcola la media utilizzando i numeri se corrispondono a un determinato criterio. Excel è pieno di sorprese e, per questo trucco, tu ...

Scelta dell'editore

Come utilizzare le funzioni per trovare valori in Excel - dummies

Come utilizzare le funzioni per trovare valori in Excel - dummies

Excel fornisce funzioni per trovare il più grande o i valori più piccoli in un set di dati Excel. Queste funzioni includono MAX, MAXA, MIN, MINA, LARGE e SMALL. MAX: valore massimo La funzione MAX trova il valore più grande nei dati. La funzione ignora le celle vuote e le celle contenenti testo o valori logici come TRUE e FALSE ...

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

A volte potresti volere o dover creare un Excel cartella di lavoro in modo automatico. Ad esempio, potrebbe essere necessario copiare i dati da una tabella e incollarli in una cartella di lavoro appena creata. La seguente macro copia un intervallo di celle dal foglio attivo e incolla i dati in una nuova cartella di lavoro. In che modo ...

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

A volte quando si fa l'analisi what-if in Excel 2016 , hai in mente un risultato particolare, ad esempio un importo di vendita o una percentuale di crescita target. Quando è necessario eseguire questo tipo di analisi, si utilizza la funzione Goal Seek di Excel per trovare i valori di input necessari per raggiungere l'obiettivo desiderato. Per utilizzare la ricerca obiettivo ...