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

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 x armazena o valor de v[i], não um índice. Usar v[x] tentaria acessar o vetor em uma posição cujo índice é o valor de x, o que é incorreto e pode causar um erro de índice fora dos limites. Esta é a alternativa mais tentadora porque x foi usado imediatamente antes, mas a armadilha está em confundir o valor de x com 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 em min.
  • (C) Incorreta: A variável x armazena um valor, não um índice. Não se pode atribuir um valor a v[x] porque x não é um índice válido para o vetor v.
  • (D) Correta: Esta linha completa a operação de troca (swap). Após x = v[i];, que salva o valor original de v[i], esta linha v[i] = v[min]; move o menor valor encontrado (que está em v[min]) para a posição atual v[i]. A linha seguinte v[min] = x; então coloca o valor original de v[i] na posição onde o menor elemento estava.
  • (E) Incorreta: min+1 não é o índice do menor elemento; min é o índice do menor elemento. Usar min+1 colocaria o elemento seguinte ao menor na posição v[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.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho