Logo Passei Direto
Buscar
Interprete o código abaixo e assinale a opção correta quanto ao valor retornado pela função recursividade com o parâmetro de valor 4. #include int recursividade(int n) { if (n>0) { n = 2*recursividade(n-1); return n; } else return 1; } int main() { recursividade(4); }
A 4
B 128
C 16
D 64
E 32
User badge image
Progresso com Exercícios

há 5 meses

Respostas

User badge image

Ed Verified user icon

há 5 meses

Vamos analisar o código da função `recursividade` passo a passo para entender o que acontece quando chamamos `recursividade(4)`. A função é definida da seguinte forma: ```c int recursividade(int n) { if (n > 0) { n = 2 * recursividade(n - 1); return n; } else { return 1; } } ``` 1. Quando chamamos `recursividade(4)`, `n` é 4, que é maior que 0. Então, a função chama `recursividade(3)`. 2. Em `recursividade(3)`, `n` é 3, que é maior que 0. Então, a função chama `recursividade(2)`. 3. Em `recursividade(2)`, `n` é 2, que é maior que 0. Então, a função chama `recursividade(1)`. 4. Em `recursividade(1)`, `n` é 1, que é maior que 0. Então, a função chama `recursividade(0)`. 5. Em `recursividade(0)`, `n` é 0, então a função retorna 1. Agora, vamos voltar pelas chamadas recursivas: - `recursividade(1)` retorna `2 * 1 = 2`. - `recursividade(2)` retorna `2 * 2 = 4`. - `recursividade(3)` retorna `2 * 4 = 8`. - `recursividade(4)` retorna `2 * 8 = 16`. Portanto, o valor retornado pela função `recursividade(4)` é 16. A alternativa correta é: C 16.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina