Estructuras Cíclicas, Repetitivas, Parte I

Existen algunas acciones que pudiesen ser tediosas, porque involucran la repetición de una simple acción muchas veces, la estructura For – Next proporciona una forma más sencilla, elegante y eficiente de ejecutar un procedimiento repetitivo que se ejecuta entre un valor inicial y un valor final conocidos.

Anuncios

Existen algunas acciones que pudiesen ser tediosas, porque involucran la repetición de una simple acción muchas veces, por ejemplo hacer la suma de los primeros n números naturales.

Suma= 1 + 2 + 3 + 4 +…………..+ n

Estructura Lineal

Podemos crear un procedimiento en VBA que haga esta suma en forma lineal. Esta forma puede lograr el resultado deseado, pero tener que ingresar cada suma es una tarea muy larga, sobre todo si n es grande.

podemos crear una variable Sum, y ir actualizando su valor línea por línea.

Sum=0

Sum=Sum + 1

Sum=Sum + 2

Sum=Sum + 3

*

*

Sum=Sum + n

En la figura se muestra el procedimiento sumalineal(), que ejecuta la suma de los primeros 10 números naturales y despliega un mensaje con el resultado. Si utilizáramos este método para sumar 100 0 1000 números seria algo muy ineficiente y tedioso.

ciclico-1

Estructura Cíclica con Condicional y GoTo

Una forma mas eficiente, aunque no la mejor es utilizar una estructura condicional que evalúe si se ha llegado al numero n que queremos sumar. Si no se ha llegado al ultimo número, avanzaremos un número en la secuencia y realizaremos la suma con el valor anterior de la suma.

x= x + 1  avanzamos un número en la secuencia

sum=sum + x

Luego de realizar la suma, dirigiremos el flujo del programa con el comando GoTo, para ir nuevamente a preguntar si hemos llegado al ultimo número de la lista n. Si no se ha llegado al final, se repite la acción. En caso de llegar al final se desplegara el resultado de la suma y el procedimiento finalizara.

Al final hemos creado una estructura cíclica y repetitiva utilizando una estructura condicional y comandos GoTo.

ciclico-2

En la siguiente figura se muestra el código del procedimiento sumaif().

ciclico-3

Estructura Cíclica For – Next

A pesar que es posible construir una estructura cíclica utilizando condicional y GoTo, VBA provee una estructura para este fin, For – Next.

En una estructura For – Next se repiten las declaraciones que estan contenidas dentro de estos dos comandos, hasta que se alcance el ultimo valor de la secuencia. La sintaxis de esta estructura es:

For variable=valor inicial to valor final [step valor]

Bloque de declaraciones

Next [variable] 

En una estructura For – Next se repite el bloque de declaraciones desde el valor inicial hasta alcanzar el valor final. Por defecto step es igual a 1, es decir si lo omitimos el contador avanzara 1 en cada paso.

En la siguiente figura se muestra el procedimiento utilizando una estructura For – Next. El bloque de declaraciones que se repiten es:

Sum = Sum + i

ciclico-4

Como se puede observar la estructura For – Next proporciona una forma más sencilla, elegante y eficiente de ejecutar un procedimiento repetitivo que se ejecuta entre un valor inicial y un valor final conocidos, y con un paso establecido. Existen otras estructuras cíclicas que pueden ser utilizadas para ejecutar procesos repetitivos, y las cuales abordaremos en los próximos artículos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s