Questão de Programação — Conceitos básicos de programação — CESPE / CEBRASPE 2023
Programação›Conceitos básicos de programação
Código
ce154654
Banca
CESPE / CEBRASPE
Órgão
EMPREL
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas
função calc(n)se (n == 0 ou n == 1)returne 1senãoreturne n * calc(n - 1)fim sefim funçãon = 3resposta = calc(n)Tendo como referência o pseudocódigo precedente, assinale a opção correta.
ANo código, não há passagem de parâmetro.
BA linha resposta = calc(n) contém comando de decisão.
CApós executado o código, a variável resposta receberá o valor 6.
DO código é exemplo de hashing.
EEm n = 3, n é uma constante do tipo estruturada.
Revelar gabarito e comentário▾
GabaritoC — Após executado o código, a variável resposta receberá o valor 6.
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”.
Conceitos básicos de programação – Recursividade
Gabarito: letra C. O pseudocódigo implementa o cálculo do fatorial de forma recursiva. A função calc(n) retorna 1 para n = 0 ou 1 e n * calc(n‑1) caso contrário. Para n = 3, a execução é: calc(3) = 3 * calc(2) = 3 * 2 * calc(1) = 3 * 2 * 1 = 6. Portanto, a variável resposta recebe o valor 6.
Alternativa A — ❌ Incorreta
Afirma que não há passagem de parâmetro. Na chamada calc(n), o valor de n (3) é passado como argumento para o parâmetro n da função. Há passagem de parâmetro, sim.
Alternativa B — ❌ Incorreta
A linha resposta = calc(n) é uma atribuição que contém uma chamada de função, não um comando de decisão. Comandos de decisão são estruturas como se...então...senão.
Alternativa C — ✅ Correta ⟵ GABARITO
Como demonstrado, calc(3) retorna 6, que é armazenado em resposta. A afirmação está correta.
Alternativa D — ❌ Incorreta
O código é um exemplo clássico de recursão, não de hashing. Hashing é uma técnica de mapeamento de dados para acesso rápido, geralmente usando tabelas hash.
Alternativa E — ❌ Incorreta
n = 3 é uma variável simples do tipo numérico (inteiro), não uma constante. Constantes têm valor fixo e invariável durante a execução; aqui n recebe 3, mas poderia ser alterada (embora não seja). Também não é do tipo estruturada (como vetor, registro etc.).
PEGA ESSA DICA!
Questões que apresentam funções recursivas pedem que você simule mentalmente as chamadas. Organize a execução em pilha: escreva cada chamada até o caso base, depois substitua de volta. Treine com fatorial e Fibonacci.
Gabarito: letra C — Após a execução, resposta = 6.