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

[Duda] Inicio de sesión

No entiendo porque el profesor colocó intentoActual = máximoIntentos para romper el while y no break ¿Aguien podría explicarme por favor? Gracias.

Yo lo hice de esta forma:

<meta charset="UTF-8">
<h1>PROGRAMA INICIO SESIÓN</h1>

<script>

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

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

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";
    var intentos = 3;
    var contador = 1;

    while(contador <= intentos){

        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");

        if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
        alert("Bienvenido al sistema " + inicioDeSesionIngresado);
        break;
        } 

        else {
        alert("inicio de sesión inválido. Favor intente de nuevo");
        }
        contador++;
    }



</script>
4 respuestas

Esto sucede ya que modifica la variable intentos

var maximoIntentos = 3; var intentoActual = 1;

y se crea un while (intentoActual <= maximoIntentos) mas un intentoActual = intentoActual +1 que defina la cantidad de veces q se puede intentar

solución!

Lo que hizo es que al contador ( que en este caso lo llamo intentoActual) le puso el valor de maximoIntentos o sea para este ejemplo 3 y cuando quiere volver a empezar el ciclo ya no puede porque el valor intentoActual ya es igual a 3, digamos que no uso un comando para salir del ciclo como se haría con break lo que hizo es que se salto hasta la última iteración del ciclo, por lo tanto depués de eso ya termina.

Creo que eso podría generar algún error si no se maneja en la línea correcta, por eso para evitar errores de ese tipo, es mejor el uso de break; que hace que salgamos en ese momento del ciclo.

Pensé lo mismo, pero tiene que ver con la variable creada intentos, resulta que seria la misma función que un breake, ademas que aquí viene la "logica" de programación. En mi caso no cree una variable var intentos y puse directamente el 3, tiene el mismo resultado al igual que poner un breake o no.

Creo que tiene que ver con la metodología de enseñanza, en la cual se van introdiciendo temas nuevos a medida que se avanza. Lo que dices es verdad, sin embargo en ejercicios más adelante sí se usa el break y se explica su funcionalidad.

Un saludo.