2
respostas

alteracao do programa

<meta charset="UTF-8">

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

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

    var idade;
    var temCarteira;

    idade = parseInt(prompt("Qual é sua idade?"));
    if ( idade >= 18 ) {
        temCarteira = prompt("Tem carteira? Responda S ou N");
        if ( temCarteira.toUpperCase() == "S" ) {
            mostra("Pode dirigir");
        } else {
            mostra("Nao Pode dirigir");
        }
    } else {
        mostra("Nao Pode dirigir");
    }

</script>
2 respostas

Olá Maurício, tudo certo?

Bom uso do aninhamento de if's. É uma das maneiras possíveis de se resolver o exercídio 'Posso dirigir?'.

Apenas a título de curiosidade, você poderia ter usado o comando ternário para deixar o código mais enxuto.

Exemplo: no código abaixo temos um if/else simples:

        if ( temCarteira.toUpperCase() == "S" ) {
            mostra("Pode dirigir");
        } else {
            mostra("Nao Pode dirigir");
        }

O comando ternário, nada mais é, que um if/else escrito de forma linear. Segue a sintaxe do comando ternário:

 <condição> ? <expressão caso condição seja verdadeira> :  <expressão caso condição seja falsa>;

Escrevendo o código do exemplo como um comando ternário, temos:

        temCarteira.toUpperCase() == "S" ? mostra("Pode dirigir") : mostra("Nao Pode dirigir");

Porém, como os dois resultados (verdadeiro e falso) executam o mesmo comando "mostra", o código ainda poderia ser melhorado usando o comando ternário como parâmetro da função mostra, da seguinte forma:

        mostra(temCarteira.toUpperCase() == "S" ? "Pode dirigir" : "Nao Pode dirigir");