FC ConcursosFC Concursos

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

  1. j <= n && v[j] <= x
  2. j < n || v[j] < x
  3. j < n && v[j] < x
  4. j < n & v[j] = x
  5. 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

Continue aprendendo