Recursão. Simulação de Loop
Vimos que a recursão é a execução repetida de instruções contidas em uma sub-rotina. E isso, por sua vez, é semelhante ao trabalho do ciclo. Existem linguagens de programação nas quais a construção do loop está ausente, por exemplo, Prolog.
Vamos tentar simular o funcionamento do loop
for
.
O loop
for
contém uma variável de contador de passos. Em uma sub-rotina recursiva, tal variável pode ser passada como um parâmetro.
// Procedimento LoopImitation() com dois parâmetros.
// Primeiro parâmetro – contador de passos, segundo parâmetro – número total de passos.
void LoopImitation(int i, int n)
{
cout << "Olá N" << e << endl; // Operador a ser repetido para qualquer valor de i
if (i < n) // Até que o contador do loop seja igual a n,
{ // chama uma nova instância do procedimento, com o parâmetro i+1 (vai para o próximo valor i).
LoopImitation(i + 1, n);
}
}