Codificación de Ciclos mediante instrucciones For Next en Visual Basic .NET

En lugar de comenzar un ciclo con una instrucción Do y terminarlo con Loop, podrá comenzarlo con For y terminarlo con Next. Sin embargo, los bucles For y Do presentan características distintas. Los ciclos For se utilizan cuando se conoce la cantidad de repeticiones deseadas para el ciclo mientras que el ciclo Do se utiliza normalmente para alcanzar una condición donde no hay una cantidad de repeticiones determinadas.

Codificación de Ciclos mediante instrucciones For... Next

REALIZA_CICLO
.
.
.

Repetir con (Variable) desde (Inicio) hasta (Final) {Incrementa en uno cada vez} Instrucciones del ciclo
Fin Repetir
.
.
.

.
.
.

For variable=inicio To final ‘Instrucciones a realizar
Next variable

La variable que controla el número de repeticiones de un ciclo recibe el nombre de contador.

Veamos un ejemplo:

Dim IntContador As Integer

For IntContador=0 To 10 ‘ IntContador es la variable que controla el número de repeticiones. ‘ Instrucciones a procesar
Next IntContador

La variable se incrementa automáticamente en uno ca da vez.

Si quieres cambiar el incremento o disminuir en lugar de aumentar se usa el step. Veamos unos ejemplos:

Dim IntContador As Integer

For IntContador=0 To 10 Step 2
‘ Instrucciones a procesar
Next IntContador

Dim IntContador As Integer

For IntContador=10 To 0 Step -1
‘ Instrucciones a procesar
Next IntContador

Ejemplos

1. Construya el pseudocódigo, diagrama de flujo y el código para obtener la suma de un número indeterminado de números positivos. Para indicar el final de la captura se introduce un número negativo.

TOTAL_CANTIDAD_INDEFINIDA

{Suma todos los números leídos hasta que se lee un número negativo y muestra el total}

{Total es la variable para acumular los números}

  • Total = 0 ‘Se asigna un valor de cero al acumulador
  • Leer Num
  • Hacer mientras Num>=0

Total=Total+Num
Leer Num

  • Fin Ciclo
  • Escribir Total

Codificación de Ciclos mediante instrucciones For... Next Diagrama

‘ Código para el botón btnSuma

Dim Num, Total As Double

Total = 0
Num=CDbl(InputBox(«Dame Número»))
Do While Num>=0
Total = Total + Num
Num=CDbl(InputBox(«Dame Número»))
Loop
MsgBox «Total: «&CStr(Total)

Observa:

  • La variable Total es llamada acumulador porque «acumula» todos los valores. Debe iniciar con cero para no influir en el cálculo de la suma.
  • No está limitada la cantidad de números que se pueden leer.
  • Lee Num una vez para iniciar el ciclo. Si fuera negativo ese primer valor no se realizaría el ciclo ni una vez.
  • Se lee al final el Num para evitar que el valor negativo de terminación se incluya en el Total. Analiza que sucedería si Leer Num estuviera antes de Total = Total + Num.
  • La línea Total = Total + Num sirve para sumar el valor más reciente a todos los anteriores. Si los valores fueran: 3, 6, 4 y -5. El proceso sería el siguiente:
Total (antes de asig.)NumTotal (después de asig.)
Repetición 1030 + 3 = 3
Repetición 2363 + 6 = 9
Repetición 3949 + 4 = 13
Termina ciclo13-5No se modifica el valor de Total.

El valor final de Total es 13.

2. Construya el pseudocódigo, diagrama de flujo y el código para obtener el producto cuatro números positivos. Si los valores fueran 2, 3, 5 y 6 el resultado sería 180.

PRODUCTO_CUATRO_NUMEROS

{Multiplica cuatro números leídos y muestra el tota l}

{Prod es la variable para acumular el producto}

  • Prod = 1 ‘Se asigna un valor de uno al acumulador
  • Repetir para i desde 1 hasta 4

Leer Num
Prod = Prod * Num

  • Fin Repetir
  • Escribir Prod

Observa:

  • La condición del ciclo Do… Loop requería iniciar la variable Num con algún valor para poder revisar la condición al principio. En cambio, el ciclo Repetir no lo necesita.
  • Se lee Num y luego se le multiplica.
  • La variable Prod se inicializa con 1 porque los núm eros leídos se van a multiplicar. Analiza que sucedería si el valor de inicio fuera 0.
Prod (antes de asig.)NumProd (después de asig.)
Repetición 1121 * 2 = 2
Repetición 2232 * 3 = 6
Repetición 3656 * 5 = 30
Repetición 430630 * 6 = 180

El valor final de Prod es 180

Codificación de Ciclos mediante instrucciones For... Next Diagrama dos

‘ Código para el botón btnProducto

Dim Num, Prod As Double

Prod = 1
For I =1 To 4
Num=CDbl(InputBox(«Dame Número»))
Prod = Prod * Num
Next I
MsgBox «Total: «&CStr(Total)

Los ciclos nos permiten escribir una sola vez instrucciones que se realizan muchas veces. No obstante, es necesario incluir contadores, acumuladores y realizar algunas modificaciones en el código para aprovechar el ciclo.

Si solamente son cuatro números por qué complicarnos con un ciclo. Porque los ciclos pequeños nos permiten aprender a utilizar esta opción para cuando la cantidad de repeticiones vuelva obligatorio su uso. No dejes de usar un ciclo cuando se requiera porque un programa no solamente debe funcionar sino que debe hacerlo con la menor cantidad posible de código. De otra manera el programa no se considera eficiente. Si te acostumbras a trabajar de esa forma, tú mismo estarás limitando el tamaño de tus aplicaciones. Después de cierta cantidad de líneas sería muy complicado conservar ese estilo de programación.