recursão é um conceito importante no campo da ciência da computação. Uma função recursiva é aquela que chama , ou chama , em si , em algum momento . A recursão pode ser usado para controlar o fluxo do programa e resolver problemas difíceis de maneiras surpreendentes. Por exemplo, você pode escrever uma função recursiva que desenha um retângulo para o console de saída padrão usando a linguagem C + +. Cada função recursiva chama uma única linha do retângulo e, em seguida, chama a si mesmo até que o retângulo está completamente formado. Coisas que você precisa
C + + Ambiente de Desenvolvimento Integrado (IDE ), como o Eclipse CDT
C + + Compiler, tal GCC
Show Mais instruções
1
Carregue o + IDE C + clicando no ícone do programa. Quando se abre , selecione " File /New /Project " e escolha " C + + Project" para criar um novo projeto. Um arquivo de código fonte em branco aparece na parte de editor de texto do IDE.
2
Escreva a assinatura da função para a função recursiva. A assinatura da função contém o nome da função, seu tipo de saída e seu tipo de entrada. Para esta função , o nome é " recursiveRect , " o tipo de saída é " vazio" (em outras palavras , sem saída) e seu tipo de entrada é representado por dois números inteiros. Estes números inteiros definir uma linha atual e uma linha máximo. Escreva a seguinte assinatura de função :
vazio recursiveRect (int Currow , int maxRow )
{}
3
teste para ver se a linha atual ( intitulado " Currow ") é menor do que o máximo de linha (que é intitulado " maxRow " ) , colocando um " if" simples entre as chaves da função " recursiveRect ", assim:
if ( Currow < maxRow )
{}
4
Escreva uma declaração que imprime uma série de asteriscos , sempre que a instrução "if" está satisfeito. Coloque a seguinte linha entre as chaves do " if" na etapa anterior :
cout << " ******** " << endl;
5
Escrever uma chamada de função recursiva para a função " recursiveRect " , colocando a instrução abaixo, entre as chaves do " if" . Note-se que a variável " CurRow " tem um " + + " precede. Isso incrementa a linha atual e permite que a próxima chamada de função para imprimir a próxima linha no retângulo
recursiveRect (+ + Currow , maxRow ); .
6
Escreva uma instrução de retorno em a parte inferior da função , logo após as chaves do " if" :
retorno;
7
Crie uma função principal , de onde você vai chamar , ou invocar , sua função retângulo recursiva
int main () {
recursiveRect ( 0, 4 );} .
8
Pressione o botão "Play" verde localizado no superior do IDE. O programa será executado e chamar a função recursiva , que , em seguida, chama-se mais três vezes . O resultado é um retângulo de quatro linhas , que se parece com isso :
********
********
** ******
********