Questão FC373409
Considere o fragmento JavaScript abaixo. <script> var v = [1, 20, 50, 67, 89, 100]; var n=v.length; var x = 89; var j = 0; while (__I__) ++j; document.write(j); </script> Para que
Desenvolvimento Web
FCC · 2019
Considere o fragmento JavaScript abaixo.
<script>
var v = [1, 20, 50, 67, 89, 100];
var n=v.length;
var x = 89;
var j = 0;
while (__I__)
++j;
document.write(j);
</script>
Para que ao executar o script seja mostrada a posição (índice) no vetor v onde se encontra o número indicado na variável x, a lacuna I deve ser corretamente preenchida por
- j <= n && v[j] <= x
- j < n || v[j] < x
- j < n && v[j] < x
- j < n & v[j] = x
- j < n && v[j] > x
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O objetivo é localizar o índice de x num vetor ordenado. A condição j < n && v[j] < x faz o loop avançar apenas enquanto houver posição válida e o elemento atual for estritamente menor que x.
Com j iniciando em \(j=0\), o while avalia a condição antes de executar ++j. Enquanto for verdadeira, incrementa-se j, ou seja, conta-se quantos elementos são menores que x. Quando encontra o primeiro elemento que não é menor, o laço para.
No exemplo, percorre 1, 20, 50, 67 (todos < 89), incrementando até \(j=4\). Ao testar \(v[4]=89\) a condição \(v[j]<x\) é falsa e o laço termina, imprimindo \(j=4\), que é o índice de 89. A expressão também garante segurança contra acesso fora do vetor por conta de \(j<n\).
Conteúdo do catálogo FC Concursos · Atualizado em