1
resposta

[Bug] Preciso de ajuda

const listaLivros = require("./arrayOrdenado");

function busca (array, de , ate, valor){
    const meio = Math.floor((de + ate ) / 2);
    const atual = array[meio];

     if (valorBuscado === atual.preco){
        return meio;
     }

     if (valorBuscado < atual.preco){
        return busca(array,de, meio -1, valorBuscado);
     }

     if (valorBuscado > atual.preco){
        return busca (array, meio + 1 , até, valorBuscado)
     }

}

meu terminal está aparecendo erro

node:internal/modules/cjs/loader:1146 throw err; ^

Error: Cannot find module 'C:\Users\lilic\OneDrive\Área de Trabalho\2360-algoritmos-js-II-arquivos-base\busca.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1143:15) at Module._load (node:internal/modules/cjs/loader:984:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] }

1 resposta

Oii, Ellyda! Tudo bem?

O erro retornado, MODULE_NOT_FOUND, significa que o Node.js não conseguiu localizar o módulo especificado no caminho fornecido. Isso pode acontecer, como o arquivo não existir no caminho especificado ou o caminho estar incorretamente digitado, por exemplo.

Tendo isso como base, recomendo que verifique se o caminho do arquivo arrayOrdenado.js está certo e se ele está no diretório que está tentando acessá-lo. Garanta que esteja executando o comando no diretório onde os arquivos busca.jsse encontra

Outro ponto para se observar, no último bloco de código, na condição if possui um erro de digitação, está escrito até ao invés de ate. Em JavaScript, nomes de variáveis não devem conter acentos.

Como está:

     if (valorBuscado > atual.preco){
        return busca (array, meio + 1 , até, valorBuscado)
     }

Código corrigido:


     if (valorBuscado > atual.preco){
        return busca (array, meio + 1 , ate, valorBuscado)
     }

Realize as verificações e a substituição do código e veja se funciona como esperado.

Espero ter ajudado. Qualquer dúvida, conte conosco.

Bons estudos, Ellyda!