Questão nº 45

Questão de Análise de Sistemas · FGV TJDFT 2022 (nº 45)

FGV2022Analista Judiciário - Análise de SistemasAnálise de Sistemas
Gabarito: Bver comentário ↓

Analise o código PHP exibido a seguir.

<?php declare(strict_types=1);
function fun(int $a, int $b) : int {
  if ($b == 0) {return $a;}
  else {return fun($b, $a % $b);}
}
----------;
?>

Nesse contexto, considere o quadro a seguir, que mostra os possíveis efeitos na execução do código acima quando o trecho pontilhado é substituído por cada um dos trechos substitutos.

Figura da questão de Análise de Sistemas

Os efeitos estão corretamente descritos nos casos:

Resposta comentada

Gabarito Alternativa B

Conceito-chave: A função fun é uma implementação clássica do MDC (Máximo Divisor Comum) pelo algoritmo de Euclides. Ela chama a si mesma (recursão) até que o segundo argumento seja zero, momento em que retorna o primeiro. O trecho pontilhado apenas define o que acontece após a declaração da função, não alterando a lógica interna dela.

  • (A) Incorreta: O efeito I (exibir o resultado de fun(12, 8) como 4) é verdadeiro, mas não é o único efeito correto, pois o quadro mostra mais de um caso válido.
  • (B) Correta: Os efeitos I e II estão corretos. O I mostra fun(12, 8) retornando 4 (MDC de 12 e 8). O II mostra fun(10, 5) retornando 5 (MDC de 10 e 5). Ambos são resultados diretos da função, independentemente do trecho substituto, que apenas poderia imprimir ou armazenar esses valores. O efeito III é falso porque fun(7, 3) retorna 1 (MDC de 7 e 3), não 2, pois 7 e 3 são primos entre si.
  • (C) Incorreta: O efeito III está errado (como explicado acima), então a combinação I e III não pode ser correta.
  • (D) Incorreta: O efeito II está correto, mas o III não, então a combinação II e III é inválida.
  • (E) Incorreta: O efeito III é falso, pois fun(7, 3) retorna 1, não 2. A armadilha da banca aqui é o aluno calcular 7 % 3 = 1 e depois fun(3, 1)3 % 1 = 0 → retorna 1, mas muitos erram ao pensar que o MDC de 7 e 3 é 2 por tentarem dividir mentalmente sem seguir a recursão completa.

Fonte: FGV TJDFT 2022 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho