Analise o código JavaScript da função XPTO exibido a seguir.
function XPTO(valor, lista) {
var i = 0;
var posicao = -1;
for (i = 0; i < lista.length; i++) {
if (lista[i] == valor) {
posicao = i;
}
}
return posicao;
}
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.
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Um sistema de monitoramento de licitações públicas usando aprendizado de máquina supervisionado foi implementado em uma grande região para detectar padrões de irregularidades. Este sistema deve prever se uma licitação possui ou não indícios de irregularidade, baseado nos parâmetros abaixo:
I. Valor do Contrato: Um número decimal que representa o valor total do contrato.
II. Tipo de Contrato: Podendo ser ‘Serviços’ ou ‘Compras’.
III. Região: Região geográfica da licitação (‘Norte’, ‘Sul’, ‘Leste’, ‘Oeste’)
IV. Número de Participantes: Número de empresas que participaram do processo licitatório.
V. Histórico de Regularidad…
Analise o código JavaScript da função XPTO exibido a seguir.
function XPTO(valor, lista) {
var i = 0;
var posicao = -1;
for (i = 0; i < lista.length; i++) {
if (lista[i] == valor) {
posicao = i;
}
}
return posicao;
}
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 …
O Open Group, criado em 1996 a partir da fusão entre o consórcio X/Open e a Open Software Foundation, reúne empresas e instituições da indústria de tecnologia da informação comprometidas com o desenvolvimento e a promoção de padrões abertos para infraestrutura e interoperabilidade computacional. Entre suas diversas contribuições, destaca-se o SOA Source Book, um conjunto de definições, análises, recomendações e modelos de referência voltados ao apoio de organizações e profissionais que buscam compreender, implementar e gerir soluções baseadas na Arquitetura Orientada a Serviços (SOA).
A arquitetura orientada a serviços consolidou-se como um dos principais paradigmas de integração tecnológica…



