Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

como funciona o uso do 'else if'?

<meta charset="UTF-8">

<script>

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    while(tentativaAtual <= maximoTentativas) {

        var loginInformado = prompt("Informe seu login");
        var senhaInformada = prompt("Informe sua senha");

        if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

            alert("Bem-vindo ao sistema, " + loginInformado);

            tentativaAtual = maximoTentativas; // acertou, então faço o gasto de todas as tentativas para sair do loop. Lá embaixo vai incrementar + 1! 

        } else { //nesse caso foi utilizado o 'else', depois aberto chaves e o 'if' foi inserido dentro do 'else', no exercício anterior, foi utilizado a forma 'else if' juntos. 

            if (tentativaAtual == 3) {
                alert("Número permitido de tentativas ultrapassado!");
            } else {
                alert("Login inválido. Tente novamente");
            }
        }

       // vai para a próxima tentativa
        tentativaAtual = tentativaAtual +1  
    }

</script>

segue o exercício anterior:

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var contador = 30;

    while(contador <= 40) {

        if( contador == 33 ) {
        contador = contador + 1;
        }
        else if(contador == 37) {    // como posso saber em que momento usar cada um e qual está certo?
            contador = contador + 1;
        }
        else {
        mostra(contador);
        contador = contador + 1; 
        }
      }

    mostra("FIM");

</script>
1 resposta
solução!

Fala Jefferson, blz?

A questão é mais o encadeamento de IF/ELSE ao qual acredito que talvez não tenha pego a manha da sintaxe. Até 2 respostas, o IF/ELSE funciona tranquilo com 1 condição.

A=5   B=10
IF(condição){                  ||             if(A>B){
    }else{                     ||            console.log("A é maior que B, condição true");
        false                  ||              }else{
            }                  ||             console.log("B é maior que A, condição false");

Então basicamente a sintaxe é isso, abaixo:

if(condição) {
        codigos a serem executados se for verdade.
        }else{
        codigos a serem executados se for falso.
        }

Agora quando temos mais coisas para validar/checar, então temos 2 ou mais condições, correto? É aí que você pode utilizar então o encadeamento de IF/ELSE IF/ELSE...

Por exemplo, uma sequencia normal de IF/ELSE IF terá essa sintaxe.

IF(condição){
    true
    }else if{
        true 2
        }else{
            false
            }

Então basicamente a sintaxe é isso, abaixo:

if(condição 1) {
        codigos a serem executados se for verdade.
        }else if(condição 2){           <<<---- a condição 1 deu falso, então irá rodar o else if, pq tem condição 2
        }else{                      <<<--- a condição 2 deu falso, então irá mostrar o resultando que sobrou.
                codigos a serem executados se for falso.
                }

No caso o encadeamento vai depender de quantas condições você quiser verificar. Por exemplo A =2, B=3, C=4.

if(A>B){
    console.log("Verdade, A é maior que B");
            }else if(A>C){
                    console.log("Verdade, A é maior que C");
                    }else{
                            console.log("Falso, A é menor que B e C");
                            }

Se for pensar em português, a sequencia seria algo assim.

  • Basicamente seria... Se (if) A é maior que B?
  • Se for verdade (true), mostre a frase --> Verdade, A é maior que B.
  • Se for falso (false)... vamos checar uma nova condição então (else if)
  • A é maior que C?
  • Se for verdade (true), mostre a frase --> Verdade, A é maior que C.
  • Senão (false)...mostre a ultima frase pois é falso.

Espero que tenha conseguido mostrar como funciona a estrutura de IF/ELSE IF :)