Questão
2022
FGV
Tribunal Regional do Trabalho da Paraíba (13ª Região)
Analista Judiciário - Área Administrativa - Tecnologia da Informação (Poder Judiciário da União)
Analise-codigo200e44f107c
Discursiva
Analise o código JavaScript da função XPTO exibido a seguir.



A função percorre um array contendo números inteiros e retorna a posição de um determinado número. Se esse número não é encontrado no array, a função retorna o valor -1. O número procurado e o array são fornecidos como parâmetros. Note que o código, como apresentado, executa tantos ciclos quantos forem os elementos na lista.

Por exemplo,

XPTO (11, [2, 1, 3, 4, 7, 8, 10, 12]) retornaria -1, e percorreria 8 ciclos.

XPTO (13, [1, 2, 3, 5, 8, 13, 21]) retornaria 5, e percorreria 7 ciclos.

XPTO (1, [1, 2]) retornaria 0, e percorreria 2 ciclos.

Pede-se

Considerando que o array fornecido jamais contém números repetidos, e que seus elementos estão sempre dispostos em ordem crescente, apresente uma nova versão do código dessa função de modo que o tempo de processamento (ou número de ciclos) diminua tanto quanto possível.

Note que a solução apresentada:

a) deve manter a assinatura original e a especificação da função original;

b) não pode utilizar funções/métodos de busca auxiliares;

c) não pode criar/utilizar índices/tabelas auxiliares;

c) deve manter a sintaxe JavaScript;

d) não deve conter comentários.

Serão avaliados:

a) a conformidade com a assinatura e a especificação original;

b) a correção da versão apresentada;

c) o grau de redução do tempo de processamento obtida.