






































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Uma introdução abrangente ao conceito de recursão em programação, cobrindo definições recursivas, implementação, tipos de recursão (aninhada e indireta), e comparação com iteração. são apresentados exemplos práticos de funções recursivas, como o cálculo do fatorial e da sequência de fibonacci, facilitando a compreensão do assunto. O texto também discute as vantagens e desvantagens da utilização de recursão em diferentes cenários.
Tipologia: Resumos
1 / 46
Esta página não é visível na pré-visualização
Não perca as partes importantes!







































Conceitos introdutórios às definições recursivas, tais como sequências, funções, conjuntos; Implementação da recursividade; Recursividade aninhada e Recursão indireta; Comparação entre a iteração x recursividade e Exemplos de funções recursivas.
Apresentar os conceitos básicos para o entendimento das definições recursivas, diferenciar algoritmos interativos dos recursivos e identificar os problemas que podem ocorrer ao se empregar algoritmos recursivos.
Antes de iniciar o conteúdo, tenha à mão um livro de Matemática do Ensino Médio que apresente os conceitos de funções matemáticas, como fatorial, somatórios, teoria de conjuntos, sequências e séries. Preferencialmente, também tenha um computador com um ambiente para compilar e
executar programas escritos na linguagem de programação C.. Para que você possa acompanhar melhor os exemplos, baixe os arquivos com os exemplos apresentados clicando aqui.
Definir recursividade
Identificar as situações de uso da recursividade
Identificar a utilização de funções recursivas através de exemplos
A recursividade é uma ferramenta poderosa para resolução de diversos problemas na computação. Alguns, que seriam solucionados com algoritmos complexos e difíceis de entender, conseguem ser resolvidos de forma elegante e bem mais simples.
A partir do momento que se entende a definição recursiva de um algoritmo, a sua implementação se torna bastante simples. Alguns pontos, porém, devem ser considerados para a implementação de algoritmos recursivos, por exemplo, a grande utilização da pilha da memória do computador, levando a estouros da capacidade de memória. É fundamental, portanto, testar os limites dos valores a serem inseridos nesses algoritmos e entender em que tipos de aplicações devemos utilizar funções recursivas ou programas iterativos.
Segundo Oliveira (2020), a recursão pode ser usada para definir sequência de objetos, funções de objetos e conjuntos.
De acordo com Vidal (2020), uma sequência é uma lista de objetos, enumerados, segundo uma ordem. O denota o késimo elemento da sequência. Uma sequência recursiva explicita seu primeiro valor (ou primeiros valores) e define outros valores na sequência em termos dos valores iniciais.
Utilizando definição:
Passo 1 - o elemento base indica que
Passo 2 - o passo recursivo 2 é apresentado com
Passo 3 - o passo recursivo 3 é apresentado como
A seguir, alguns exemplos de sequências recursivas:
No entanto, uma sequência também pode ser definida de forma recursiva.
A partir do 1º termo e de uma regra para encontrar um termo da sequência a partir do anterior, ou seja:
gerando a seguinte sequência:
Esta sequência é recursiva, ou seja, a sequência dos termos é obtida a partir do 1º termo.
É importante ressaltar que quando definimos uma sequência recursivamente, podemos usar indução para provar resultados sobre ela. Nos exemplos anteriores, foi utilizada, como recurso, a indução para se obter o próximo valor da sequência recursiva.
Exemplo 3: Encontre , e se é definida recursivamente por: ; para para a função:
Solução:
A função fatorial é um exemplo clássico da definição recursiva, pela própria definição do fatorial de um número N ser o fatorial do número
multiplicado pelo fatorial do número menos
, e assim, sucessivamente.
Pela definição matemática:
O fatorial do inteiro 5 é calculado da seguinte forma:
Utilizando a definição recursiva para funções, temos o seguinte resultado:
Solução: Definição recursiva:
Avaliando para o caso
O princípio da indução matemática garante que funções definidas recursivamente ficam bem definidas.
Considerando que, para todo inteiro positivo, o valor da função neste inteiro é determinado de forma não ambígua, ou seja, obtemos o mesmo valor qualquer que seja o modo de aplicar as duas partes da definição.
Segundo Freitas (2020), em algumas definições, os valores da função nos primeiros k inteiros positivos são especificados. E então é fornecida uma regra para determinar o valor da função em inteiros maiores a partir dos seus valores em alguns ou todos os inteiros que o precedem.
O princípio da indução forte garante que tais definições produzem funções bem definidas. Nos exemplos do fatorial para funções e sequências, são fornecidas as regras que levam a indução para os restantes dos valores aplicados à função.
Frequentemente, os elementos de uma sequência são definidos através de padrões regulares, como uma função de sua posição na sequência.
O somatório é denotado por meio da notação: