Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

[Sugerencia] [Sugerencia] Propuesta a ¿sera que puedo conducir?

La función principal del script se llama "puedeConducir(edad, tieneLicencia)". Esta función toma dos argumentos: la edad y si tiene o no una licencia de conducir.

La función evalúa si la persona es mayor o igual a 18 años y si tiene una licencia de conducir (indicada por una "S" en la respuesta) usando el operador lógico "&&". Si ambas condiciones se cumplen, la función escribe "Puede conducir" en la página utilizando la función "imprimir(frase)". De lo contrario, escribe "No puede conducir" en la página utilizando la misma función.

<meta charset="UTF-8">

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

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

    // Función que evalúa si una persona puede conducir

    function puedeConducir(edad, tieneLicencia) {
        // && es un operador lógico que permite evaluar más de una condición
        if (edad >= 18 && tieneLicencia == "S") {
            document.write("Puede conducir");
        } else {
            document.write("No puede conducir");
        }
    }

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

    puedeConducir(edad, tieneLicencia);

</script>
4 respuestas

Hay un problema con eso, ya que si yo miento y digo que tengo 17 años y a luego digo que tengo licencia... el programa imprimirá que puedo conducir... por lo tanto hay que validar antes de preguntar si tengo licencia la edad...si la edad es mayor o = a 18 años, luego se pregunta si tiene licencia... de esa manera estaremos validando ante cualquier mentira... y el programa funcionará correctamente.

dejo el código correcto en otra respuesta:

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

hola muchas gracias por la observacion : ) , pero mi codigo funciona adecuadamente lo que sucede es que, utilise el operador logico && (AND), que produce la siguiente tabla de verdad: Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad lo que quiere decir que la respuesta sera verdadera si y solo si ambas condiciones son verdaderas

Hola que tal, hay que tener muy en las condiciones a evaluar para poder organizar el código según la lógica del ejercicio. En la minoría de los casos los menores de edad tienen licencia a partir de los 17, supongamos que ningún menor tiene licencia.

  1. Evaluamos si es mayor o igual de 18
  2. Si es mayor de 18 pregunta si tiene licencia, si es menor no pregunta pasa al ultimo 'else' y no puede conducir
  3. Si responde con 's' obvio puede conducir, si responde con 'n' no puede conducir

En este ejercicio podemos ejercitar una buena lógica, pueden haber mas soluciones.

<script>
        let edad = parseInt(prompt('ingresa tu edad para dejarte condicir.'))

        function saltarLinea(){
            document.write('<br/><br/><br/>')
        }

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

        if(edad >=18){
            let licencia= prompt('¿tienes licencia de conducción? reponde s o n')
            if(licencia == 's'){
                imprimir('adelante puedes condicir')
            }else{
                imprimir('tienes la edad pero no la licencia, no puedes conducir!!!')
            }
        }else{
            imprimir('no tienes la edad, no creo que tengas licencia, no puedes conducir!!!')
        }
    </script>