Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] No entendi

Hola a todos, no me queda claro por que cambia el resultado si se mueve el valor "total" por fuera del ciclo si el valor es 0, no le entendi al profesor. Alguien me podria explicar un poco mas en detalle esto? Muchas gracias.

1 respuesta

Hola, voy a tratar de explicarte de la mejor manera para que me puedas entender.

Primero cuando inicializas las variables CONTADOR y TOTAL su valor inicial antes de entrar al ciclo es 0, CONTADOR=0; TOTAL=0;

La condición es la siguiente:

while(contador<=10) {

            total=total + contador;
            contador++;
        }
        System.out.println("La suma del 1 al 10 es: " + total);
  • Cuando CONTADOR =0, TOTAL=0 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =1, TOTAL=1 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =2, TOTAL=3 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =3, TOTAL=6 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =4, TOTAL=10 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =5, TOTAL=15 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =6, TOTAL=21 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =7, TOTAL=28 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =8, TOTAL=36 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =9, TOTAL=45 cumple con la condición y vuelve a ingresar al ciclo while;
  • Cuando CONTADOR =10, TOTAL=55 cumple con la condición y vuelve a ingresar al ciclo while;
  • Aquí se ROMPE el ciclo porque el número que sigue del CONTADOR sería 11 y no cumple la condición de que sea MENOR O IGUAL A 10.

Si te das cuenta el valor del TOTAL se va acumulando cada vez que entra y sale del ciclo; esto sería diferente si la variable TOTAL la hubieras inicializado dentro del ciclo while ya que no te sumaría nada porque cada vez que entra al ciclo su valor siempre será 0 esto es debido a que el programa recién la reconoce cuando está dentro del ciclo y no afuera;

  • Cuando CONTADOR =0, TOTAL=0 cumple con la condición y vuelve a ingresar al ciclo while; (0+0)
  • Cuando CONTADOR =1, TOTAL=1 cumple con la condición y vuelve a ingresar al ciclo while; (1+0)
  • Cuando CONTADOR =2, TOTAL=2 cumple con la condición y vuelve a ingresar al ciclo while; (2+0)
  • Cuando CONTADOR =3, TOTAL=3 cumple con la condición y vuelve a ingresar al ciclo while; (3+0)
  • Cuando CONTADOR =4, TOTAL=4 cumple con la condición y vuelve a ingresar al ciclo while; (4+0)
  • Cuando CONTADOR =5, TOTAL=5 cumple con la condición y vuelve a ingresar al ciclo while; (5+0)
  • Cuando CONTADOR =6, TOTAL=6 cumple con la condición y vuelve a ingresar al ciclo while; (6+0)
  • Cuando CONTADOR =7, TOTAL=7 cumple con la condición y vuelve a ingresar al ciclo while; (7+0)
  • Cuando CONTADOR =8, TOTAL=8 cumple con la condición y vuelve a ingresar al ciclo while; (8+0)
  • Cuando CONTADOR =9, TOTAL=9 cumple con la condición y vuelve a ingresar al ciclo while; (9+0)
  • Cuando CONTADOR =10, TOTAL=10 cumple con la condición y vuelve a ingresar al ciclo while; (10+0)

Espero me haya dejado entender.

Un gusto.