Sugerir tradução
 
Outras sugestões:

progress indicator
Sem sugestões.
Clique para classificar e enviar comentários
MSDN
Biblioteca MSDN
Visual Studio 2008
Visual Studio
Visual Basic
 Procedimentos de recursiva

  Ativar exibição de largura de banda baixa
Exibir Conteúdo: Lado a LadoExibir Conteúdo: Lado a Lado
Este conteúdo foi traduzido automaticamente e pode ser editado pelos membros da comunidade. Para melhorar a qualidade da tradução, clique no link Editar associado à frase que deseja modificar.
Visual Basic Programming Guide
Recursive Procedures

A recursive procedure is one that calls itself. In general, this is not the most effective way to write Visual Basic code.

The following procedure uses recursion to calculate the factorial of its original argument.

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

Limiting Conditions. You must design a recursive procedure to test for at least one condition that can terminate the recursion, and you must also handle the case where no such condition is satisfied within a reasonable number of recursive calls. Without at least one condition that can be met without fail, your procedure runs a high risk of executing in an infinite loop.

Memory Usage. Your application has a limited amount of space for local variables. Each time a procedure calls itself, it uses more of that space for additional copies of its local variables. If this process continues indefinitely, it eventually causes a StackOverflowException error.

Efficiency. You can almost always substitute a loop for recursion. A loop does not have the overhead of passing arguments, initializing additional storage, and returning values. Your performance can be much better without recursive calls.

Mutual Recursion. You might observe very poor performance, or even an infinite loop, if two procedures call each other. Such a design presents the same problems as a single recursive procedure, but can be harder to detect and debug.

Calling with Parentheses. When a Function procedure calls itself recursively, you must follow the procedure name with parentheses, even if there is no argument list. Otherwise, the function name is taken as representing the return value of the function.

Testing. If you write a recursive procedure, you should test it very carefully to make sure it always meets some limiting condition. You should also ensure that you cannot run out of memory due to having too many recursive calls.

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

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.

Conteúdo da Comunidade   O que é Conteúdo da Comunidade?
Adicionar novo conteúdo RSS  Anotações
Processing
© 2009 Microsoft Corporation. Todos os direitos reservados. Termos de Uso  |  Marcas Comerciais  |  Política de Privacidade
Page view tracker