Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2023

ProgramaçãoLinguagens de programação
Código
ce159988
Banca
CESPE / CEBRASPE
Órgão
SEFIN de Fortaleza - CE
Ano
2023
Nível
Superior
Cargo
Analista Fazendário Municipal - Área de Conhecimento: Ciência da Computação, Informática/Processamento de Dados
Com relação a estruturas de controle, seleção, repetição e desvio, julgue o item a seguir.Após executado, o algoritmo a seguir apresentará 720 como resultado final.função f(x)se (x == 0 ou x == 1)retorna 1;fimseretorna f(x - 1)*xfimfunçãofunção func(a)se (a == 0)retorna 2fimseretorna a + f(a - 1)fimfunçãoescreva(func(6));
  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”.

Algoritmo recursivo e resultado final

Gabarito: Errado (E). O algoritmo não produz 720 como resultado, e sim 126. A função f(x) calcula o fatorial de x (com base para x=0 ou x=1 retornando 1), enquanto a função func(a) retorna a + f(a-1). Ao executar func(6), obtemos 6 + f(5). Calculando f(5) recursivamente: f(5) = f(4)*5, f(4)=f(3)*4, f(3)=f(2)*3, f(2)=f(1)*2, f(1)=1, resultando em f(5)=120. Portanto, func(6)=6+120=126.

A banca testa a capacidade de simular mentalmente a execução de funções recursivas. A pegadinha está em associar f(x) a fatorial e supor que func(6) resultaria em 6! = 720, o que é incorreto, pois func faz uma soma e chama f(a-1), não f(a).

NÃO CAIA NESSA!

O candidato pode confundir o resultado de func(6) com 6! = 720, pois a função f(x) calcula o fatorial de x, mas o retorno de func(a) é a + f(a-1), e não o fatorial direto. Na simulação, func(6) = 6 + f(5) = 6 + 120 = 126.

✅ ERRADO. O item está incorreto porque o resultado final do algoritmo é 126, e não 720.

Link permanente: /questoes/ce159988