Trabalho De PC 1

3199 palavras 13 páginas
Centro Federal de Educação Tecnológica de Minas Gerais – CEFET/MG

Recursividade, alocação de memória e estruturas de dados.

Alunos: Matheus Rodrigues Resende Rafaela Cristina Oliveira Guimarães

Curso: Engenharia Elétrica
Disciplina: Programação de Computadores

Funções Recursivas

Função recursiva é aquela que é capaz de chamar a si própria durante a execução do código. Deve existir uma condição de parada bastante evidente e que deve ser sempre alcançada para que o código fique legível e que a função não fique infinitamente em um loop.
Então em uma função recursiva é uma boa prática de programação seguir a seguinte ordem:
1 – Condição de parada;
2 – Processamento;
3 – Chamada Recursiva;
A condição de parada deve conter um teste para o término da função, esse teste deve ser teoricamente sempre atingível para evitar-se um loop infinito. Se essa condição de parada for atingida, a função deve parar e retornar seu valor (se existir). O processamento é onde a função faz seus cálculos e alterações nos valores das variáveis envolvidas ou ainda outras chamadas de funções. A chamada recursiva é onde a função chama a si própria retornando a execução para o início da função.
Existe desvantagens nas funções recursivas que fazem essas funções serem evitadas, pois geralmente são mais difíceis de entender (legibilidade do código) caso o problema não seja naturalmente recursivo, e também são, em maioria, mais lentas que suas respectivas soluções não recursivas. Normalmente uma função recursiva pode ser substituída por alguma função que use laços for ou while.
A recursão ainda pode ocorrer de duas maneiras, diretamente, que é onde a chamada para a função se encontra na própria função, ou indiretamente, em que a função chama outra função (ou uma série de funções) que no final acaba retornado à função inicial.
Exemplo mais comum é a função de calcular o fatorial de um número, que é um problema naturalmente recursivo: int fatorial(int

Relacionados

  • CAbeamento
    15851 palavras | 64 páginas
  • erupçao
    750 palavras | 3 páginas
  • Metrologia
    1269 palavras | 6 páginas
  • Compartilhamento de redes
    1044 palavras | 5 páginas
  • Trabalho atps
    2069 palavras | 9 páginas
  • Pim ii - 2011 - ti
    3112 palavras | 13 páginas
  • Descricao TP IHSO 2bim REDES
    1102 palavras | 5 páginas
  • violenciadomestica.doc
    5999 palavras | 24 páginas
  • projeto licenciamento
    557 palavras | 3 páginas
  • SUS modelos de gestao
    9732 palavras | 39 páginas