Buscar

Questão 5/12 - Linguagem de Programação A recursividade é um conceito importante na programação e permite que uma função chame a si mesma de forma ...

Questão 5/12 - Linguagem de Programação A recursividade é um conceito importante na programação e permite que uma função chame a si mesma de forma repetida até atingir uma condição de parada. Em C, uma função recursiva é aquela que chama a si mesma como parte do seu processo de execução. Baseado nessa informação, analise o código a seguir e assinale a alternativa correta em relação ao resultado da execução bem-sucedida do código: int calculo (int n) { if (n == 0) { return 0; } else { return n + calculo (n - 1); } } int main () { int resultado = calculo (4); printf("%d", resultado); return (0); } A - 24 B- 2 C- 6 D-10 E-12

💡 1 Resposta

User badge image

Ed Verified user icon

Vamos analisar o código fornecido: A função "calculo" é uma função recursiva que recebe um inteiro "n" como parâmetro. Se "n" for igual a 0, a função retorna 0. Caso contrário, ela retorna a soma de "n" com o resultado da chamada recursiva de "calculo" com o parâmetro "n - 1". Quando a função "main" é chamada com o argumento 4, ela chama a função "calculo" com o valor 4. A função "calculo" chama a si mesma com 4, depois com 3, depois com 2 e finalmente com 1. Quando "n" se torna 0, a recursão para e a função começa a retornar os valores acumulados. Assim, a execução bem-sucedida do código resultará em: calculo(4) = 4 + calculo(3) calculo(3) = 3 + calculo(2) calculo(2) = 2 + calculo(1) calculo(1) = 1 + calculo(0) calculo(0) = 0 Substituindo os valores, temos: calculo(1) = 1 + 0 = 1 calculo(2) = 2 + 1 = 3 calculo(3) = 3 + 3 = 6 calculo(4) = 4 + 6 = 10 Portanto, o resultado da execução bem-sucedida do código será D) 10.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais