Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

Puedes o no conducir?. Como lo ven?

<meta charset="UTF-8">

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

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

    if (edad >= 18) {

        if (tieneLicencia == "S") {

            alert("Puedes conducir");

        } 
    }

    if (edad >= 18) {

        if (tieneLicencia == "N") {

            alert("No puedes conducir");

        } 
    }

    else {

        alert("No puedes conducir");

     }

</script>
4 respuestas
solución!

Hola Jesus,

Es excelente que estés practicando lo aprendido, pero una observación respecto a la lógica:

if (edad >= 18) {

        if (tieneLicencia == "S") {

            alert("Puedes conducir");

        } 
    }

    if (edad >= 18) {

        if (tieneLicencia == "N") {

            alert("No puedes conducir");

        } 
    }

Aquí se puede optimizar ya que no es necesario el segundo bloque if, ¿Por qué? porque en tu primer bloque ya estás verificando si el usuario licencia y en caso de que la respuesta ingresada sea "N" no se va a cumplir la condición de if (tieneLicencia == "S") por lo tanto eso dará como resultado False y al dar ese resultado lo más optimo es utilizar un bloque Else para no repetir la comprobación de la edad.

Espero haberme explicado bien, te dejo el código corregido:

<meta charset="UTF-8">

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

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

    if (edad >= 18) {

        if (tieneLicencia == "S") {

            alert("Puedes conducir");

        }
        else {
            alert("No puedes conducir");
        }
    }
    else {

        alert("No puedes conducir");

    }

</script>

Hola compañero. Tu código esta bien, pero puedes simplificar los if que tienen como condicional a la variable tieneLicencia de la siguiente forma:

<meta charset="UTF-8">

<h1>¿Estas apto para conducir?</h1>

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

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");


    if (edad >= 18 && tieneLicencia == "S") {
            alert("Puedes conducir");
    }
    if (edad >= 18 && tieneLicencia == "N") {
            alert("No puedes conducir");
        }   
    else {
        alert("No puedes conducir");
    }

</script>

Puedes reducirlo para optimizar el código, entre más el código se simplifique más rendimiento tendrá tu aplicación o juego, aquí como quedó el mio:

<meta charset="UTF-8">

<script>

    function saltarLinea(){

    var saltoLinea = document.write("<br><br><br><hr><br><br>")

    }

    function escribir(texto){
        document.write("<big>" + texto + "</big>");
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

    if (edad >= 18 && tieneLicencia == "S"){
        escribir("Puedes Conducir Felicidades!");
    }
    else{
        escribir("Ups, No puedes Conducir")
    }

</script>

Gracias por las observaciones.

*Julio verifica tu codigo, hay algo que esta erroneo. Cuando pones 18 y S, sale que puedes conducir, pero tambien que no puedes conducir. *Camilo verifica que debe ser un alert, aparte de eso tu codigo esta muy bien.