Recursion

Na programação de computador, uma recursividade (substantivo, ree-KUHR-zhion pronunciado) é a programação que é recursiva (adjetivo), e recursiva tem dois significados relacionados:

1) Um procedimento recursivo ou routina é aquele que tem a capacidade de se chamar a si mesmo. Isto geralmente significa que ele tem a capacidade de salvar a condição em que estava ou o processo particular que está servindo quando se chama a si mesmo (caso contrário, quaisquer valores de variáveis que foram desenvolvidos na execução do código são sobrepostos pela próxima iteração ou passagem). Normalmente, isto é feito salvando valores em registros ou pilhas de área de dados antes de chamar-se a si mesma ou no início da seqüência onde acabou de ser reentrada.

2) Uma expressão recursiva é uma função, algoritmo ou seqüência de instruções (normalmente, uma seqüência IF, THEN, ELSE) que faz loops de volta ao início de si mesma até detectar que alguma condição foi satisfeita. Aqui está um exemplo simples (usando uma linguagem de fonte de computador inventada):

 

CODELINE1 N=0; CODELINE2 IF N=<10 THEN DO WRITE LETTER; CODELINE3 ELSE GOTO CODELINE6;