1
resposta

[Sugestão] Laços de Repetição - Resolução 10 - Validação de Login

Realizei a validação de login com um do...while, não com um while como mostra a opinião do instrutor.

// 10. Validação de login

const tentativas = ["1234", "admin", "secreto"];
const senhaCorreta = "secreto";
let indice = 0;

do {
  indice++;
  console.log(`Tentativa ${indice} inválida.`);

  if (tentativas[indice] === senhaCorreta) {
    console.log("Acesso permitido!");
    break;
  }

  if (indice >= 3) {
    console.log("Acesso bloqueado. Número máximo de tentativas atingido.");
    break;
  }
} while (tentativas[indice] !== senhaCorreta);
1 resposta

Olá, Yasmin, como vai?

O uso da estrutura do...while é uma escolha válida para este cenário, pois garante que o bloco de código seja executado ao menos uma vez antes da verificação da condição. O seu código demonstra uma boa compreensão da lógica de controle de fluxo e o uso do comando break para interromper a execução assim que o objetivo é atingido ou o limite é ultrapassado está correto.

No seu exemplo específico, note que o incremento do índice ocorre logo no início do bloco, o que faz com que a comparação utilize a posição seguinte do array. Caso queira refinar esse comportamento, você pode realizar o incremento após a verificação, garantindo que a primeira tentativa (índice 0) seja validada antes da mensagem de erro ser disparada.

Parabéns pela resolução do exercício e por buscar formas alternativas de aplicar a lógica de programação. Continue compartilhando seus progressos e lembre-se que o fórum está a disposição para suas futuras dúvidas.

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