Logo Passei Direto
Buscar

Design

ESTÁCIO
Recursividade, em programação de computadores, é um recurso que permite que uma função invoque uma nova instância de si mesmo. Em geral, funções recursivas tendem a dividir o problema original em subproblemas menores de mais fácil resolução. Analise o programa abaixo e informe o que será impresso após a execução do código. #include int func(int n){ if (n<=5) return 0; else return n+func(n-1); } int main(void){ printf("%d",func(10)); } A 40 B 45 C 50 D 10 E 55
User badge image
icaroflc

há 9 meses

Respostas

User badge image

Ed Verified user icon

há 9 meses

Vamos analisar o código passo a passo para entender o que ele faz. A função `func(int n)` é uma função recursiva que verifica se `n` é menor ou igual a 5. Se for, ela retorna 0. Caso contrário, ela retorna `n` somado ao resultado da chamada recursiva `func(n-1)`. Quando chamamos `func(10)`, o que acontece é o seguinte: 1. `func(10)` retorna `10 + func(9)` 2. `func(9)` retorna `9 + func(8)` 3. `func(8)` retorna `8 + func(7)` 4. `func(7)` retorna `7 + func(6)` 5. `func(6)` retorna `6 + func(5)` 6. `func(5)` retorna `0` (porque 5 é menor ou igual a 5) Agora, somando tudo: - `func(6)` retorna `6 + 0 = 6` - `func(7)` retorna `7 + 6 = 13` - `func(8)` retorna `8 + 13 = 21` - `func(9)` retorna `9 + 21 = 30` - `func(10)` retorna `10 + 30 = 40` Portanto, o que será impresso após a execução do código é 40. A alternativa correta é: A 40.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

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

Mais conteúdos dessa disciplina