Module: (C++) Recursão


Problem

2/12

Recursão. Simulação de ciclo

Theory Click to read/hide

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); } }

Problem

Estude o programa abaixo e organize no programa principal uma chamada de procedimento com os parâmetros i=1, n=10. #include <iostream> usando namespace std; //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); } } principal() { // aqui é necessário emitir uma chamada de procedimento com parâmetros i=1, n=10. }