Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — CESPE / CEBRASPE 2023

ProgramaçãoConceitos 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.
  1. ANo código, não há passagem de parâmetro.
  2. BA linha resposta = calc(n) contém comando de decisão.
  3. CApós executado o código, a variável resposta receberá o valor 6.
  4. DO código é exemplo de hashing.
  5. 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.

Link permanente: /questoes/ce154654