1
resposta

maior de 18 que não tem carteira...desse jeito ficou melhor não?

<meta charset="UTF-8">

<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    var idade = parseInt(prompt("Qual é sua idade"));
    var temCarteira = prompt("Tem carteira? Responda S ou N");

    if( idade >= 18 && temCarteira == "S") {
        mostra("Pode dirigir");
    }
    if (temCarteira == "N"){
    mostra ("Não pode dirigir");
    }

    if(idade < 18) {
        mostra("Não pode dirigir");
    }

</script>
1 resposta

Lucas, tudo bom? Não ficou nem melhor, nem pior :-)

No caso da idade você compara duas vezes, no primeiro e no terceiro IF's. Caso tivesse colocado um ELSE e o valor inserido fosse menor do que 18 não precisaria fazer uma segunda comparação. Qual o problema disso, na prática para esse exemplo nenhum.

Mas se fosse uma aplicação que necessitasse de alto desempenho e grande parte dos seus valores fossem menores do que 18 teria que otimizar essa parte.