Questão nº 31
Questão de Tecnologia da Informação · FCC TRT5 2022 (nº 31)
Usando o algoritmo Bubble Sort um técnico deseja ordenar o conteúdo de um array utilizando o código JavaScript abaixo, presente no corpo de uma página HTML.
<body>
<script>
var arr = [220, 63, 25, 8, 5, 7, 295, 589];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < (arr.length - i - 1); j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j]
I
arr[j + 1] = temp
}
}
}
document.write(arr);
</script>
</body>
Para que o array seja ordenado corretamente a lacuna I deve ser corretamente preenchida com
- Aarr[j] = arr[j + i]
- Barr[i] = arr[j + 1]
- Carr[j] = arr[j - 1]
- Darr[j + 1] = arr[j + 1]
- Earr[j] = arr[j + 1] (alternativa correta)
Resposta comentada
Gabarito Alternativa E
O Bubble Sort é um algoritmo de ordenação que funciona comparando elementos adjacentes (vizinhos) de uma lista e trocando-os de lugar se estiverem na ordem errada, repetindo esse processo até que a lista esteja totalmente ordenada.
(A) Incorreta: arr[j] = arr[j + i] não faz parte de uma troca de elementos adjacentes (arr[j] e arr[j+1]) e usa o índice i da laço externo, o que é incorreto para a lógica de comparação e troca do Bubble Sort.
(B) Incorreta: arr[i] = arr[j + 1] também utiliza o índice i de forma inadequada, pois a troca deve ocorrer entre arr[j] e arr[j+1], não envolvendo arr[i].
(C) Incorreta: arr[j] = arr[j - 1] atribuiria a arr[j] o valor do elemento anterior, o que não completa a troca entre arr[j] e arr[j+1] e levaria a uma ordenação incorreta.
(D) Incorreta: arr[j + 1] = arr[j + 1] é uma atribuição que não altera o valor de arr[j+1], não contribuindo para a troca de valores.
(E) Correta: Para realizar a troca de valores entre arr[j] e arr[j+1] usando uma variável temporária (temp), os passos são:
var temp = arr[j](guarda o valor dearr[j])arr[j] = arr[j + 1](o valor dearr[j+1]é movido paraarr[j])arr[j + 1] = temp(o valor original dearr[j], guardado emtemp, é movido paraarr[j+1])
A lacuna I corresponde ao segundo passo,arr[j] = arr[j + 1], que é essencial para que a troca seja concluída corretamente.
Fonte: FCC TRT5 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.