Pular para o conteúdo principal

Questão de Programação — Java — Quadrix 2025

ProgramaçãoJava
Código
qg595095
Banca
Quadrix
Órgão
CFO
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
As linguagens de programação são responsáveis por tirar do papel os algoritmos criados pelo programador e por transformá‑los em programas para serem executados pelos computadores modernos. Considerando essa informação, julgue o item seguinte.Em Java, a recursão é uma técnica comum, na qual uma função pode se chamar repetidamente até atingir uma condição de parada, sendo utilizada em problemas como pesquisa binária e algoritmos de divisão e conquista.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

Recursão em Java

Gabarito: C — CERTO. A afirmação está correta: em Java, a recursão é uma técnica válida e comum, na qual um método chama a si mesmo até atingir uma condição de parada (caso base), sendo amplamente utilizada em problemas como pesquisa binária e algoritmos de divisão e conquista. Não há nenhum impedimento na linguagem para essa prática; pelo contrário, é um recurso fundamental da programação.

A recursão é um conceito essencial em ciência da computação e programação. Ela consiste em uma função (ou método, no contexto de Java) que, durante sua execução, invoca a si mesma para resolver uma versão menor do problema original. Esse processo se repete até que uma condição de parada seja alcançada, momento em que a função retorna um valor sem fazer novas chamadas recursivas. Essa condição é chamada de caso base e é crucial para evitar que a recursão se torne infinita, causando um estouro de pilha (StackOverflowError).

A técnica é particularmente útil para problemas que podem ser decompostos em subproblemas menores e semelhantes ao problema original. A pesquisa binária, por exemplo, é um algoritmo clássico de busca que divide repetidamente o intervalo de busca pela metade, e pode ser implementada de forma elegante com recursão. Da mesma forma, algoritmos de divisão e conquista, como o Merge Sort e o Quick Sort, baseiam-se na ideia de dividir o problema em partes menores, resolver cada parte recursivamente e combinar os resultados.

Na prática, um método recursivo em Java tem a seguinte estrutura básica:

int fatorial(int n) {
    if (n <= 1) { // caso base
        return 1;
    } else {
        return n * fatorial(n - 1); // chamada recursiva
    }
}

Neste exemplo, o método fatorial chama a si mesmo com um argumento menor (n - 1) até que n seja 1 ou 0, momento em que retorna 1. A cada chamada, o problema é reduzido, e a solução final é construída na volta das chamadas.

É importante distinguir a recursão de outras técnicas de repetição, como os laços (for, while). Enquanto os laços são iterativos e repetem um bloco de código, a recursão é uma forma de repetição por meio de chamadas de função. Ambas podem ser usadas para resolver os mesmos problemas, mas a recursão muitas vezes resulta em código mais legível e próximo da definição matemática do problema, embora possa ter custo de desempenho maior devido ao overhead das chamadas de função.

A banca explora aqui um conceito fundamental e bem estabelecido. A afirmação é precisa e não contém nenhuma armadilha sutil. O candidato que conhece o básico de recursão e sua aplicação em algoritmos clássicos não terá dificuldade em marcar a alternativa correta.

CERTO. A recursão é uma técnica comum em Java, onde um método pode se chamar repetidamente até atingir uma condição de parada, sendo utilizada em problemas como pesquisa binária e algoritmos de divisão e conquista.

  1. 1Caso base (parada)
  2. 2Chamada recursiva (problema menor)
  3. 3Combinação dos resultados
LEVEL · soulevel.com.br

Gabarito: C — CERTO.

Link permanente: /questoes/qg595095