Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Recursividade: Um método de programação baseado em chamar a função mesma a si mesma, Notas de estudo de Cultura

Neste documento, o autor apresenta um código em c que utiliza recursividade para realizar a soma de dois números. Ele explica o conceito básico de recursividade, onde uma função pode chamar a si mesma, e mostra como isso é implementado no código. Além disso, ele discute as variáveis e as chamadas da função, bem como a importância de ter uma condição de parada para evitar loops infinitos.

Tipologia: Notas de estudo

2011

Compartilhado em 24/06/2011

marcus-henrique-teixeira-lima-12
marcus-henrique-teixeira-lima-12 🇧🇷

3.6

(8)

19 documentos

1 / 9

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Recursividade
Marcus Henrique
www.youtube.com/user/marcaoIFCE
pf3
pf4
pf5
pf8
pf9

Pré-visualização parcial do texto

Baixe Recursividade: Um método de programação baseado em chamar a função mesma a si mesma e outras Notas de estudo em PDF para Cultura, somente na Docsity!

Recursividade

Marcus Henrique [email protected]/user/marcaoIFCE

^ Será apresentado um código em C, bastantesimples, que realiza um somatório de umasequência numérica natural (Ex.: 1,2,3 ->1+2+3 = 6). ^ Este programa é utilizado apenas paramostrar como funciona a recursividade.

#include<stdio.h>#include<stdlib.h>int soma (int n1, int n2){ if (n1>n2) return 0; // Condição de parada para que a função não chame mais a si mesmoelse return n2 + soma(n1,n2-1); // A função entra em recursividade} int main (){ int result, n1, n2;printf("Digite o primeiro numero! \n");scanf("%d",&n1);printf("Digite o segundo numero! \n");scanf("%d",&n2);result=soma(n1,n2); //O retorno da função é recebido por resultprintf("\nA soma eh: %d", result);printf("\n\n");system("pause");return 0;}

^ Na função

main (principal)

existem 3 variáveis

inteiras:^

result, n1 e n

^ A variável

result^ receberá o retorno da função soma.  Um detalhe muito importante é que a variável

n

deve receber um valor menor que o da

n2^ (Como

dito antes o código está bem simples).  Na chamada da função

soma^ é passado com parâmetros

n1^ e^ n2. ...result=soma(n1,n2);...

^ Primeira chamada: ^ Exemplo:

n1 = 1^ e^ n2 = 2. int soma (int n1, int n2){ if (n1>n2) return 0;else return n2 + soma(n1,n2-1);} ^ Segunda chamada ^ n1 = 1 e n2 = 1; ^ Terceira chamada ^ n1=1 e n2=0 ^ Nesta chamada da função é atendido a condição deparada e, então, é retornado

0(zero)^ para a última

chamada e realizado uma soma.

1-chamadan1=1 e n2 =2Return n2+ soma(n1,n2-1);

2- chamadan1=1 e n2=1return n2 + soma(n1,n2-1)

3- chamadan1=1 e n2=0return 0

Retorna 0+ Retorna 1+ Retorna 2+