Erro em função recursiva

materjoshka-aljaz

Imagem da autoria de Žiga Aljaž.

Ao ver esta imagem recordei as aulas de programação onde os meus Professores utilizavam sempre as Matrioshkas para ilustrar o mecanismo de programação recursiva.

Existem dois erros que frequentemente são cometidos e que acontecem por não se perceber bem este mecanismo de programação. Por um lado a incorrecta definição do ponto-de-paragem, neste ponto o problema tem de ser resolvido sem recurso à recursividade sendo muitas vezes algo semelhante a um limite superior ou inferior da regra geral. O outro erro comum é o facto da regra geral não estar a caminhar correctamente na direcção do ponto-de-paragem, sendo necessário que através da invocação recursiva se esteja cada vez mais a convergir para o ponto-de-paragem. Se não se cometerem estes erros e caso não se subestime a “força”* a programação recursiva pode ser uma ferramenta bastante útil.

* Darth Vader: Don’t underestimate the Force.


Mais informações sobre este tema: