Este é um conteúdo traduzido por máquina.
Guia de programação Visual Basic 
Procedimentos de recursiva

Um procedimento de recursiva é aquela que chama a própria. Em geral, isso não é a maneira mais eficiente Gravar código Visual Basic.

O procedimento a seguir usa a recursão para calcular o fatorial do argumento original.

Visual Basic
Function factorial(ByVal n As Integer) As Integer
    If n <= 1 Then
        Return 1
    Else
        Return factorial(n - 1) * n
    End If
End Function
Considerações sobre com procedimentos recursiva

Limitação de condições. Você deve Design um procedimento recursiva para testar pelo menos uma condição que pode finalizar a recursão e você também deve tratar o maiúscminúsc onde nenhuma condição for satisfeita em um número razoável de chamadas recursivas. Pelo menos uma condição que pode ser atendida sem falhas, o procedimento executa um alto risco de execução em um loop infinito.

De uso de memória. Seu aplicativo tiver uma quantidade limitada de espaço para as variáveis Local. Sempre que um procedimento chama a mesmo, ele usa mais do que espaço para cópias adicionais das suas variáveis Local. Se esse processo continua indefinidamente, ele eventualmente causará um erro de StackOverflowException.

Eficiência. Você pode substituir quase sempre um loop de recursão. Um loop não tem a sobrecarga de passando argumentos, inicializando armazenamento adicional e retornar valores. O desempenho pode ser muito melhor sem chamadas recursivas.

Mútua de recursão. Você pode observar desempenho muito baixo, ou até mesmo um loop infinito, se dois procedimentos chamar uns aos outros. Um design apresenta os mesmos problemas como um procedimento recursiva Simples, mas pode ser mais difícil detectar e Depurar.

Chamando com parênteses. Quando um procedimento de Function chama recursivamente, você deve seguir o nome do procedimento com parênteses, mesmo que não haja nenhuma lista de argumentos. Caso contrário, o nome da função será executado como que representa o valor retorno da função.

Testando. Se você Gravar um procedimento recursiva, você deve testá-lo com muito cuidado para verificar ele atende aos sempre alguma condição de limitação. Você também deve garantir que você não pode ficar sem memória devido a ter muitos chamadas recursivas.

Consulte também

Tarefas

Conceitos

Referência

Marcas :


Page view tracker