Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — CESPE / CEBRASPE 2022

Algoritmos e Estrutura de DadosAlgoritmos
Código
ce133706
Banca
CESPE / CEBRASPE
Órgão
BNB
Ano
2022
Nível
Superior
Cargo
Analista de Sistemas - Desenvolvimento de Sistemas
Julgue o item a seguir, a respeito dos conceitos de passagem de parâmetros, recursividade, conceitos básicos de programação estruturada e orientada a objetos, métodos de ordenação, pesquisa e hashing.Considere-se o seguinte algoritmo.inteiro função func (inteiro n)iniciose (n == 4)retorne n;senãoretorne 2*func( n+1);fimescreva (func(1));O resultado final do referido algoritmo é 16.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Recursividade: Cálculo de função recursiva

❌ ERRADO. O resultado da chamada func(1) é 32, e não 16 como afirma o enunciado. A simulação passo a passo mostra que a recursão multiplica por 2 em cada nível até atingir o caso base n=4.

A função é definida como:

inteiro função func (inteiro n)
inicio
  se (n == 4)
    retorne n;
  senão
    retorne 2 * func( n+1 );
fim

Simulando:

  • func(4) → retorna 4 (caso base).

  • func(3) → retorna 2 * func(4) = 2 * 4 = 8.

  • func(2) → retorna 2 * func(3) = 2 * 8 = 16.

  • func(1) → retorna 2 * func(2) = 2 * 16 = 32.

Portanto, o valor final é 32, e a afirmativa está incorreta.

NÃO CAIA NESSA!

O candidato pode parar no retorno de func(4) = 4 e esquecer de aplicar as multiplicações nos níveis anteriores. A cada chamada não-base, o valor retornado é 2 × o resultado da chamada seguinte, formando uma sequência de potências de 2. Simule sempre todos os passos da recursão.

Gabarito: ERRADO.

Link permanente: /questoes/ce133706