Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

segue o exercicio


const tentativas = ["1234", "admin", "secreto"];
// const tentativas = ["1234", "admin", "jão", "secreto"]; usado so para testar o erro
const senhaCorreta = "secreto";
let numeroTentativas = 0;

while (numeroTentativas < 3) {    
    if (tentativas[numeroTentativas] === senhaCorreta) {
        console.log(`Acesso permitido!`);        
        break
    } else {
        numeroTentativas++
        console.log(`Tentativa ${numeroTentativas} inválida.`);
    }        
}
if (numeroTentativas >= 3) {
    console.log(`Acesso bloqueado. Número máximo de tentativas atingido.`);
}
1 resposta

Olá, Tairone! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a estrutura de repetição while para controlar tentativas de login em JavaScript, utilizou muito bem a comparação condicional para verificar se a senha está correta e ainda compreendeu a importância do contador de tentativas para limitar o acesso e bloquear após o número máximo permitido.

Uma dica interessante para o futuro é separar a lógica em uma função, tornando o código mais reutilizável. Assim:

function validarAcesso(tentativas, senhaCorreta, maxTentativas = 3) {
  let numeroTentativas = 0;
  while (numeroTentativas < maxTentativas) {
    if (tentativas[numeroTentativas] === senhaCorreta) {
      return "Acesso permitido!";
    }
    numeroTentativas++;
  }
  return "Acesso bloqueado. Número máximo de tentativas atingido.";
}

console.log(validarAcesso(["1234", "admin", "secreto"], "secreto"));

Isso faz com que o programa fique mais organizado e fácil de expandir para outros cenários.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Adicionar feedback detalhado: mostrar quantas tentativas restam.
  • Encapsular em objeto: criar uma classe para gerenciar autenticação.
  • Tratar entradas dinâmicas: permitir que o usuário digite a senha em tempo real.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você acha mais interessante evoluir neste código, adicionar mensagens mostrando quantas tentativas restam ou transformar em uma função reutilizável para diferentes sistemas de login?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!