Bucles en Visual Basic .NET

Hola a todos, hoy os voy a explicar como funcionan los bucles o estructuras repetitivas en Visual Basic .NET.Una estructura de repetición o bucle nos permite ejecutar un numero de veces determinado una serie de instrucciones. La mayor utilidad es evitar la repetición de lineas de código iguales. Para salir del bucle, se indica una condición, si esa condición no se cumple se sale del bucle. Las estructuras de repetición son:

  • while: indicamos una condición que se ejecutara hasta que la condición sea falsa, es importante que la variable que este en la condición, varíe para que no se produzca un bucle infinito. Su sintaxis es:
While condicion
    'instrucciones
End While

Veamos un ejemplo:


Module Module1

    Sub Main()

        Dim num As Integer = 1

        While num <= 5
            Console.WriteLine(num)
            num += 1
        End While

        Console.ReadLine()

    End Sub

End Module

Como vemos, num vale 1 al principio, se comprueba la condición, como 1 es menor o igual que 5, entra en el bucle y ejecuta las instrucciones, y así sucesivamente hasta que num vale 6, ya que 6 no es menor o igual que 5. Si num no fuera modificado, nunca saldría del bucle.

  • for: este tipo de bucle, es como el anterior pero ademas de la condición, incluye una inicialización de una variable y un incremento o decremento de esa variable, en principio, no es necesario que incluya las 3 partes. Si no indicamos el incremento por defecto es 1. NOTA: cuando salimos del bucle, la variable inicializada no existe. Su sintaxis:
For inicializacion to limite step paso
      'instrucciones
Next

Si nos fijamos, es como en while pero todo se define en el bucle. Veamos un ejemplo:


Module Module1

    Sub Main()

        For num As Integer = 1 To 5 Step 1
            Console.WriteLine(num)
        Next

        Console.ReadLine()

    End Sub

End Module

Fijate en la condición, 1 to 5 es igual que 1<=5 Es el mismo ejemplo de antes pero mas reducido.

  • do-while: esta estructura repetitiva, tiene algo especial y es que como mínimo las instrucciones dentro de la estructura repetitiva al menos una vez, mientras que el while sus instrucciones pueden ejecutarse 0 o N veces. Se sale del bucle cuando la condición del while no se cumple, si esto pasa empieza desde el do. Se utiliza para la validación de datos. Su sintaxis es:
Do
    'intrucciones
Loop While condicion

'Otra sintaxis
Do
    'intrucciones
Loop Until condicion

Veamos un ejemplo:


Module Module1

    Sub Main()

        Dim num As Integer = 0

        Do
            Console.WriteLine("Introduce un número entre 0 y 10")
            num = Console.ReadLine()
        Loop While num >= 10 Or num < 0

        Console.WriteLine("El numero introducido con Loop While es  " & num)

        Do
            Console.WriteLine("Introduce un número entre 0 y 10")
            num = Console.ReadLine()
        Loop Until num <= 10 Or num > 0

        Console.WriteLine("El numero introducido con Loop Until es  " & num)

        Console.ReadLine()

    End Sub

End Module

Tenemos que pensar bien la condición de salida. En nuestro caso, si insertamos un 5 (5>=10 or 5<0) devolvería falso, saliendo del bucle. Si insertáramos un -1 (-1>=10 or 5<o) devolvería verdadero, haciendo que vuelva a pedir un numero.

La diferencia entre loop while y loop until es la salida del bucle, con loop while, la condición indicada debe ser false para salir del bucle y con loop until, la condición debe ser true para salir del bucle.

La posicion de while o until se puede poner delante de do o de loop, pero recomiendo que sea siempre después de loop.

Por último, tenemos la estructura de repetición For Each pero lo veremos más detallamente más adelante cuando usemos estructuras más complejas.

Espero que os sea de ayuda. Si tenéis dudas, preguntad, estamos para ayudarte.

Compartir

2 comentarios

  1. Camila M.

    Disculpe las molestias. La verdad es que no entiendo la diferencia entre «While – End While» y «Do Loop».

  2. Roberto

    la diferencia es que el do se ejecuta la instrucción la primera vez si o si, ya que no tiene una condición. La condición se consulta el loop

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *