Questão nº 32
Questão de Tecnologia da Informação · FCC TRT-11 2017 (nº 32)
FCC2017Técnico Judiciário – Área Apoio Especializado – Especialidade: Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Dver comentário ↓
Considere a classe Java abaixo.
public class Dados {
public static void main(String[] args) {
int i, n, j, min, x;
int v[] = {7, 1, 3, 8, 4, 10, 0, 5, 2, 9};
n = v.length;
for (i = 0; i < n - 1; ++i) {
min = i;
for (j = i + 1; j < n; ++j) {
if (v[j] < v[min]) {
min = j;
}
}
x = v[i];
I
v[min] = x;
}
}
}
Para que os valores do vetor v sejam colocados em ordem crescente, a lacuna I deverá ser preenchida por
- A`v[i] = v[x];`
- B`v[i] = v[j];`
- C`v[x] = v[i];`
- D`v[i] = v[min];` (alternativa correta)
- E`v[i] = v[min+1];`
Resposta comentada
Gabarito Alternativa D
O algoritmo Selection Sort (Ordenação por Seleção) funciona encontrando o menor elemento em uma parte não ordenada de um vetor (uma lista de números) e o colocando na posição correta, repetindo esse processo até que todo o vetor esteja ordenado.
- (A) Incorreta: A variável
xarmazena o valor dev[i], não um índice. Usarv[x]tentaria acessar o vetor em uma posição cujo índice é o valor dex, o que é incorreto e pode causar um erro de índice fora dos limites. Esta é a alternativa mais tentadora porquexfoi usado imediatamente antes, mas a armadilha está em confundir o valor dexcom um índice. - (B) Incorreta: A variável
jé um contador do loop interno e, ao final do loop, não aponta para o índice do menor elemento. O índice do menor elemento é armazenado emmin. - (C) Incorreta: A variável
xarmazena um valor, não um índice. Não se pode atribuir um valor av[x]porquexnão é um índice válido para o vetorv. - (D) Correta: Esta linha completa a operação de troca (swap). Após
x = v[i];, que salva o valor original dev[i], esta linhav[i] = v[min];move o menor valor encontrado (que está emv[min]) para a posição atualv[i]. A linha seguintev[min] = x;então coloca o valor original dev[i]na posição onde o menor elemento estava. - (E) Incorreta:
min+1não é o índice do menor elemento;miné o índice do menor elemento. Usarmin+1colocaria o elemento seguinte ao menor na posiçãov[i], o que não é o objetivo do Selection Sort.
Fonte: FCC TRT-11 2017 Técnico Judiciário – Área Apoio Especializado – Especialidade: Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.