¿Cuál es la explicación de este código? Int x = 1; while (x ++ <5) {if (x% 2 == 0) x + = 2; Console.WriteLine (x);}

Ayuda a descomprimir el código para facilitar la lectura:

int x = 1; // inicializa el valor de x a 1
while (x ++ <5) {// agregue 1 a x, y verifique si FUE menos de 5
if (x% 2 == 0) // si x es par …
x + = 2; //… suma 2
Console.WriteLine (x); // imprime x en la pantalla
}

La primera vez a través del ciclo:

  • Línea 3: cambie x de 1 a 2. Compare el valor ANTIGUO de x con 5; Eran menos de 5, así que procedemos.
  • Línea 4: verifique si x es par. (Lo es, ya que x = 2.)
  • Línea 5: Agregue 2 a x, por lo que ahora es 4
  • Línea 6: Imprimir “4” en la pantalla

Ahora volvemos a la línea 3 y verificamos nuevamente la condición del bucle:

  • Línea 3: cambie x de 4 a 5. Compare el valor ANTIGUO de x con 5; Eran menos de 5, así que procedemos.
  • Línea 4: verifique si x es par. (No lo es, ya que x = 5.)
  • Línea 5: omitida
  • Línea 6: Imprimir “5” en la pantalla

Vuelva a la línea 3 una vez más:

  • Línea 3: cambie x de 5 a 6. Compare el valor ANTIGUO de x con 5; NO era inferior a 5, por lo que el ciclo while finaliza.

Comienza con una variable x, que contiene el valor 1.

Comienza a repetirse aquí. Lo que hace es esto: en cada iteración, agregue 1 a x. Esto es lo que significa x ++. Hace esto siempre que x <5. El signo% significa módulo, por lo que en cada iteración este código verifica si x módulo 2 es igual a cero, o en otras palabras, si x es igual.

x + = 2 significa sumar 2 a cualquier valor que tenga x ahora, y guardarlo en x.

Console.WriteLine (x) hace que el valor de x aparezca en su pantalla.

Espero que esto aclare lo que se supone que debe hacer.

int x = 1;
mientras que (x ++ <5) {
si (x% 2 == 0)
x + = 2;
Console.WriteLine (x);
}

Aquí está el desglose paso a paso.

x se le asigna 1.

x se compara con 5. es menor que 5, por lo que el ciclo está preparado para ejecutarse.

se produce el incremento de postfix (x ++) yx se convierte en 2.

se evalúa la condición (x% 2 == 0). Esto es cierto porque x (2) dividido por 2 da un resto de 0, entonces x aumenta en 2 yx se convierte en 4.

se imprime el valor de x -> 4.

la iteración del ciclo se completa.

x se compara con 5. es menor que 5, por lo que el ciclo está preparado para ejecutarse.

se produce el incremento de postfix (x ++), y x se convierte en 5.

se evalúa la condición (x% 2 == 0). Esto es falso porque x (5) dividido por 2 da un resto de 1, por lo que el valor de x no cambia.

se imprime el valor de x -> 5.

la iteración del ciclo se completa.

x se compara con 5. no es menor que 5, por lo que el ciclo termina.

se produce el incremento de postfix (x ++) yx se convierte en 6.

El resultado es:

4 4

5 5