Nella programmazione di computer, una ricorsione (sostantivo, pronunciato ree-KUHR-zhion) è una programmazione ricorsiva (aggettivo) e ricorsiva ha due significati correlati:
1) Una procedura ricorsiva o routine è uno che ha la capacità di chiamare se stesso. Questo di solito significa che ha la capacità di salvare la condizione in cui si trovava o il particolare processo che sta servendo quando chiama se stesso (altrimenti, qualsiasi valore di variabile che è stato sviluppato durante l'esecuzione del codice viene sovrapposto alla successiva iterazione o passaggio ). In genere, ciò viene fatto salvando i valori nei registri o negli stack dell'area dati prima di chiamare se stesso o all'inizio della sequenza in cui è stato appena reinserito.
2) Un'espressione ricorsiva è una funzione, un algoritmo o una sequenza di istruzioni (tipicamente, una sequenza IF, THEN, ELSE) che ritorna all'inizio di se stessa finché non rileva che una condizione è stata soddisfatta. Ecco un semplice esempio (utilizzando una lingua di origine di computer inventata):
CODELINE1 N = 0; CODELINE2 IF N = <10 THEN DO WRITE LETTER; CODELINE3 ELSE GOTO CODELINE6; CODELINE4 N = N + 1; CODELINE5 GOTO CODELINE2; CODELINE6 ... qualche altra istruzione
Qui, le istruzioni etichettate da CODELINE2 a CODELINE5 sono ricorsive fino a quando la condizione di N ha il valore 10. "IF N = <10" significa "Se N ha un valore inferiore a 10." "N = N + 1" significa "Aggiungi 1 al valore corrente di N."
In matematica, la ricorsione ha significati simili ma più complicati rispetto a quando viene utilizzata nella programmazione.