Exercícios Resolvidos de Introdução à recursividade

Ver Teoria

Enunciado

Mostre, através do teste de mesa, o resultado da seguinte função:

Considere a entrada f u n c ( 5 ) .

Passo 1

Considerando que a função recebe como parâmetro o valor 5, a primeira coisa que o programa executa é a verificação de igualdade entre n (que armazena o valor 5) e 0. Como a condição é falsa, uma nova instância da função f u n c é criada, mas dessa vez com o parâmetro 4 ( n - 1 ).

Passo 2

Sendo n igual a 4 nessa nova instância, a mesma verificação será executada (já que é a mesma função) e como n ainda é diferente de 0, outra instância é criado passando como parâmetro o valor 3.

Passo 3

Essas novas instâncias serão criadas até que o caso básico seja verdadeiro, ou seja, n = 0 . Mas para isso, além das instâncias onde n é igual a 5 e 4 (descritas nos passos anteriores) outras foram criadas, mais precisamente aquelas em que n é igual a 3, 2, 1 e por fim 0.

Passo 4

Considerando que estamos na instância em que n = 0 , a verificação de caso básico será verdadeira e a palavra “Fim” será impressa na tela com uma quebra de linha.

Passo 5

Após a impressão, está na hora da função retornar em suas instâncias, nesse caso o primeiro retorno será para a instância em que n = 1 . Essa por sua vez, simplesmente imprimirá o valor de n (que é 1).

Passo 6

Mais retornos recursivos ocorrerão, dessa vez estamos na instância em que n = 2 , logo, o valor 2 será impresso e depois o 3, 4 e por fim 5 (primeira instância criada).

Resposta

Fazendo uma analise do algoritmo, o mesmo se trata de um código capaz de realizar uma contagem em ordem crescente utilizando de funções recursivas.