Questão de Algoritmos e Estrutura de Dados — Algoritmos — UFSC 2022
Algoritmos e Estrutura de Dados›Algoritmos
Código
qq808675
Banca
UFSC
Órgão
UFSC
Ano
2022
Nível
Médio
Cargo
Técnico de Tecnologia da Informação
Considere as funções F e G escritas em pseudocódigo mostradas a seguir.função F(n) { se n = 0 então retorne 1 senão retorne n * F(n - 1) } função G(m) { x ← 1 para i ← 2 até m faça x ← x * i retorne x } Analise as afirmativas abaixo e assinale a alternativa correta. I. As funções F e G são equivalentes. II. A função G retorna o valor 120 quando invocada da seguinte forma: G(5). III. A função F não possui uma estrutura de repetição. IV. F é uma função recursiva e G é uma função iterativa.
ASomente as afirmativas II e IV estão corretas.
BSomente as afirmativas I e III estão corretas.
CSomente as afirmativas II e III estão corretas.
DSomente as afirmativas I e IV estão corretas.
ETodas as afirmativas estão corretas.
Revelar gabarito e comentário▾
GabaritoE — Todas as afirmativas estão corretas.
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”.
Algoritmos: Recursão vs Iteração
Gabarito: letra E. Todas as afirmativas estão corretas: as funções F e G são equivalentes (ambas calculam o fatorial de um número), G(5) retorna 120, F não possui laço de repetição (é recursiva), e F é recursiva enquanto G é iterativa.
A banca testa a compreensão dos conceitos de recursão e iteração. A função F implementa o fatorial de forma recursiva: quando n=0 retorna 1, caso contrário retorna n multiplicado pelo fatorial de n-1. Já G utiliza um laço para iterar de 2 até m, acumulando o produto. Ambas produzem o mesmo resultado para uma mesma entrada.
1F (recursiva)n = 0 → 1; n > 0 → n × F(n-1)
2G (iterativa)x = 1; para i = 2 até m: x = x × i
3EquivalênciaAmbas retornam n!
LEVEL · soulevel.com.br
Item I — ✅ Correto
As duas funções calculam o fatorial: F(n) = n! e G(m) = m!. Para qualquer valor inteiro não negativo, ambas retornam o mesmo resultado. Portanto, são equivalentes.
Item II — ✅ Correto
G(5) executa: x=1; i=2: x=2; i=3: x=6; i=4: x=24; i=5: x=120. Retorna 120, que é 5!.
Item III — ✅ Correto
A função F utiliza uma chamada recursiva (F(n-1)) dentro de seu próprio corpo, e não contém nenhuma estrutura de repetição como "para" ou "enquanto". A recursão substitui o laço.
Item IV — ✅ Correto
A definição é clássica: F é recursiva (chama a si mesma) e G é iterativa (utiliza um laço de repetição).
Conclusão: Todos os itens (I, II, III e IV) são verdadeiros, correspondendo à alternativa E.
PEGA ESSA DICA!
Para diferenciar recursão e iteração, lembre-se: recursão → a função se chama (reduz o problema até o caso base); iteração → usa laços explícitos (para, enquanto). Ambas resolvem problemas repetitivos, mas com abordagens diferentes.
Gabarito: letra E — Todas as afirmativas corretas.