Questão de Algoritmos e Estrutura de Dados — Algoritmos — FEPESE 2022
Algoritmos e Estrutura de Dados›Algoritmos
Código
qq719334
Banca
FEPESE
Órgão
CELESC
Ano
2022
Nível
Superior
Cargo
Analista de Sistemas - Desenvolvimento
Assinale a alternativa que descreve corretamente a operação que o método abaixo realiza sobre um vetor (v) de números inteiros.public void operacao(int[] v) {for(int i = 0; i < v.length - 1; i++) {for(int j = 0; j < v.length - 1 - i;j++) {if(v[j] < v[j + 1]) {int aux = v[j];v[j] = v[j + 1];v[j + 1] = aux;}}}}
AEspelhamento do Vetor
BOrdenação em Ordem Crescente
COrdenção em Ordem Decrescente
DInserção de Valor no Meio do Vetor
EInserção de Valor no Final do Vetor
Revelar gabarito e comentário▾
GabaritoC — Ordenção em Ordem Decrescente
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”.
Análise do Algoritmo de Ordenação
Gabarito: letra C. O método implementa o algoritmo Bubble Sort, e a condição v[j] < v[j + 1] faz com que os elementos menores "flutuem" para o final, resultando em uma ordenação decrescente (do maior para o menor).
O código possui dois laços aninhados que percorrem o vetor repetidamente, comparando pares adjacentes e trocando-os quando a condição é verdadeira. Esse padrão é clássico de ordenação por bolha.
1Percorre pares adjacentes
2Compara v[j] < v[j+1]
3Troca se verdadeiro
4Maior flutua para esquerda
5Vetor ordenado decrescente
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Espelhamento de vetor seria inverter a ordem dos elementos (ex.: primeiro com último), o que não é feito aqui. O algoritmo compara e troca pares adjacentes, não reposiciona elementos simetricamente.
Alternativa B — ❌ Incorreta
Para ordenação crescente, a troca deveria ocorrer quando v[j] > v[j + 1]. O código troca quando o elemento da esquerda é menor que o da direita, o que produz a ordem decrescente.
Alternativa C — ✅ Correta ⟵ GABARITO
A condição de troca é v[j] < v[j + 1]. Isso faz com que elementos maiores sejam movidos para a esquerda, resultando em um vetor ordenado em ordem decrescente (maior → menor).
Alternativa D — ❌ Incorreta
Inserção de valor no meio do vetor envolveria deslocamento de elementos e possível redimensionamento. O código apenas ordena os elementos existentes, sem inserir novos valores.
Alternativa E — ❌ Incorreta
Inserção no final do vetor também requer realocação ou deslocamento. Nenhuma inserção ocorre; o algoritmo apenas reordena os valores.