AnteriorPosterior

2.2.13. Ejercicios resueltos sobre bucles

  Curso: Programación en C# (2015), por Nacho Cabanes

2.2.13. Ejercicios resueltos sobre bucles

Existen varios errores frecuentes en el manejo de los bucles. Por ejemplo, incluir un "punto" y coma tras una orden "for" o "while" puede hacer que nada se repita y que el programa se comporte de forma errónea. Por eso, aquí tienes varios ejercicios resueltos, que te ayudarán a "entrenar la vista" para localizar ese tipo de problemas:

¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i<4; i++) Console.Write("{0} ",i);

Respuesta: no escribiría nada, porque la condición es falsa desde el principio.

¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i<=4; i++); Console.Write("{0} ",i);

Respuesta: escribe un 5, porque hay un punto y coma después del "for", de modo que repite cuatro veces una orden vacía, y cuando termina el "for", "i" ya tiene el valor 5.

¿Qué escribiría en pantalla este fragmento de código?

for (i=1; i<4; ) Console.Write("{0} ",i);

Respuesta: escribe "1" continuamente, porque no aumentamos el valor de "i", luego nunca se llegará a cumplir la condición de salida.

¿Qué escribiría en pantalla este fragmento de código?

for (i=1; ; i++) Console.Write("{0} ",i);

Respuesta: escribe números crecientes continuamente, comenzando en uno y aumentando una unidad en cada pasada, pero sin terminar.

¿Qué escribiría en pantalla este fragmento de código?

for ( i = 0 ; i <= 4 ; i++) {
    if ( i == 2 ) continue ; 
    Console.Write("{0} ",i); 
}

Respuesta: escribe los números del 0 al 4, excepto el 2.

¿Qué escribiría en pantalla este fragmento de código?

for ( i = 0 ; i <= 4 ; i++) {
    if ( i == 2 ) break ; 
    Console.Write("{0} ",i); 
}

Respuesta: escribe los números 0 y 1 (interrumpe en el 2).

¿Qué escribiría en pantalla este fragmento de código?

for ( i = 0 ; i <= 4 ; i++) {
    if ( i == 10 ) continue ; 
    Console.Write("{0} ",i); 
}

Respuesta: escribe los números del 0 al 4, porque la condición del "continue" nunca se llega a dar.

¿Qué escribiría en pantalla este fragmento de código?

for ( i = 0 ; i<= 4 ; i++) 
    if ( i == 2 ) continue ; 
    Console.Write("{0} ",i);

Respuesta: escribe 5, porque no hay llaves tras el "for", luego sólo se repite la orden "if".

Actualizado el: 03-11-2014 13:05

AnteriorPosterior