Questão de Arquitetura de Software — Software — FCC 2023
Arquitetura de Software›Software
Código
fc070432
Banca
FCC
Órgão
TRT - 21ª Região (RN)
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Área: Apoio Especializado - Tecnologia da Informação
Considere o método abaixo, em uma aplicação Java, em condições ideais.public static void ordenar (int [] vetor) {for (int i = 0; i <vetor.length - 1; i++) {int indiceMaior = i;for (int j = i + 1; j <vetor.length; j++) {...I...}int temp = vetor [indiceMaior] ;vetor [indiceMaior] = vetor [i];vetor [1] = temp;}}Para que o método ordenar ordene o vetor recebido em ordem decrescente, a lacuna 1 deve ser preenchida por
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”.
Java: Ordenação por Seleção (Selection Sort)
Gabarito: letra C. O método implementa o algoritmo de ordenação por seleção (selection sort). Para ordenar em ordem decrescente, o laço interno deve localizar o maior elemento do subvetor não ordenado e armazenar seu índice em indiceMaior. A comparação correta é vetor[j] > vetor[indiceMaior], e quando verdadeira, atualiza-se indiceMaior = j. A alternativa C é exatamente essa.
1Laço externo (i)
2indiceMaior = i
3Laço interno (j)
4Se vetor[j] > vetor[indiceMaior]
5indiceMaior = j
6Troca vetor[i] com vetor[indiceMaior]
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Usa < (menor), o que encontraria o menor elemento — resultaria em ordenação crescente, não decrescente.
Alternativa B — ❌ Incorreta
Usa <= (menor ou igual) e ainda atribui indiceMaior = i (sempre o primeiro índice), o que jamais atualizaria o índice correto. Sintaxe também confusa.
Alternativa C — ✅ Correta ⟵ GABARITO
if(vetor[j] > vetor[indiceMaior]) { indiceMaior = j; } — exatamente o necessário: ao encontrar um elemento maior, atualiza o índice do maior. Após o laço interno, a troca com a posição i coloca o maior elemento no início, construindo a ordem decrescente.
Alternativa D — ❌ Incorreta
A condição > está correta, mas atribui indiceMaior = i, nunca j. O índice do maior jamais seria atualizado, invalidando o algoritmo.
Alternativa E — ❌ Incorreta
Usa vetor[i] no lugar de vetor[indiceMaior] e atribui indiceMaior = j. A comparação é fixa com o primeiro elemento do subvetor (vetor[i]), não com o maior candidato atual. O algoritmo não funcionaria.
PEGA ESSA DICA!
Em algoritmos de ordenação, identifique o tipo de ordenação (crescente/decrescente) e qual elemento deve ser selecionado (menor ou maior). A comparação deve ser feita com o índice que armazena o candidato atual, não com o índice do início do subvetor.