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

Duda respecto a condición

Saludos!!

Mi pregunta va relacionada a la forma en que se interpretan las condicionales; me explico:

Se tiene

while (contador < 4)

Esto indica que se ejecutara el ciclo hasta que el contador sea MAYOR a 4; por lo tanto cuando el contador llega a 4 se tiene: 4<4 y esto sigue siendo verdadero ya que 4 NO ES MAYOR a 4, por lo que se debería ejecutar un ciclo extra hasta que 5<4 y ahora aquí si se cumple la condición. Por lo que la respuesta correcta debería ser C.

Para que la opción B sea correcta, la condición del while debería ser:

while (contador <= 4)

Así como está planteada la respuesta entiendo que:

while (contador < 4) es lo mismo que while (contador <= 4), ya que en ambos casos while termina cuando "contador=4"

¿Es eso correcto?

Y que: ¿si yo quisiera que el while hiciera 4 iteraciones entonces mi condicional del while debería ser: while (contador < 5)?

2 respuestas

Hola Juan, lamento decirte que hay un pequeño error en lo que comentas.

Como bien dices, el bucle While se ejecutará mientras la condición se esté cumpliendo, en este caso es contador < 4, sin embargo, es aquí donde tienes un error, la condición dice: "si la variable "contador" es menor a 4, entonces continúa con el resto del código", es decir que si el contador va de 1 a 4, se repetirá solo 3 veces, lo hará cuando el valor de contador sea 1, luego cuando sea 2 y cuando sea 3, pero cuando pase a 4, la condición ya no se cumple, ¿por qué?, porque ahora contador es igual a 4 y la condición dice que tiene que ser menor para poder seguir.

ahora, si cambias la condición a: contador<=4 entonces el bucle se repetirá 4 veces, ya que solo cuando pase a 5 dejará de ser "Verdadera" la condición.

Si gustas puedes probar estos códigos:

Contador < 10

let contador= 1;
while (contador<10) {
    console.log(contador);
    contador++};

Contador <= 10

let contador= 1;
while (contador<=10) {
    console.log(contador);
    contador++};

En la consola verás la diferencia.

Una forma de simplificarlo es verlo como n-1. Muy usado también en los arreglos, si tu quieres que se repita 10 veces tienes que saber que el loop while puede ejectutar hasta el número 9 con la condición contador<10, tendrías que usar el operador <= para que la condición se cumpla y repita el número de veces que deseas que se ejcute en este caso 10. Tal como menciona Luis.