Questão de Programação — Java — Quadrix 2025
- Código
- qg595095
- Banca
- Quadrix
- Órgão
- CFO
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
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.
Gabarito: C — CERTO.
Link permanente: /questoes/qg595095