lunes, 8 de diciembre de 2008

Sobre Ciclos (I)

Tachi [tachi@dmegui.dpegr.rimed.cu]

ESTRUCTURAS DE REPETICIÓN FOR...NEXT

Comenzaré por decir que esto es más para iniciados que para “Expertos”, no sea que alguien diga “Mira para eso lo que publican en BlackHat”. Se sabe que la revista nos llega a más de 2000 (y aumentando) pero… ¿Cuántos son los que se están iniciando en la programación? Me imagino que entre los que estamos suscritos a la revista halla un gran número que estén cursando el 12 grado y que de seguro esto le será de ayuda.

Dejando a un lado la muela vamos a comenzar.

La mayor parte de los programas incluyen repeticiones o ciclos. Un ciclo es una estructura que ejecuta una o varias líneas de código repetidamente. ¿Que te dan ganas de cambiar este concepto? ¡¡¡¡Pues cámbialo!!!!

Estructura de repetición For...Next

La estructura de repetición For...Next maneja de manera automática todos los detalles de la repetición controlada por contador (conocido como ciclo determinado ya que se conoce de ante mano el número de repeticiones que realizará el ciclo). For utiliza una variable contador que incrementa o reduce su valor en cada repetición del ciclo la cual determina la continuación o no del ciclo.

Sintaxis:
For contador = inicio To fin [Step incremento]
<Instrucciones>
Next [contador]

Como primer parámetro la estructura espera al contador (un variable de tipo Interger) inicializado, Ej: i = 0
El segundo parámetro (fin) es el número de repeticiones que tendrá el bucle (ciclo), el cual debe ser también un entero. Como argumento opcional se le puede indicar a la instrucción un número de incremente ([Step incremento]) que será el que se aumente al contador de continuación de ciclo (también un entero). Prueba el ejemplo siguiente con el parámetro Step 2.

En el cuerpo de la estructura (<instrucciones>) se colocarán la o las instrucciones (acciones) que serán ejecutadas x cantidad de veces, Ej.: Print “Esto es un ciclo For...Next.”

El último parámetro es opcional, por mi parte lo pongo para no perder la costumbre y sobre todo para identificar a cuál estructura For pertenece cuando existe alguna que otra anidada.

A continuación les presento al programa hermano del clásico “Hola mundo”, “Imprimir los números del 0 al 9”:

Dim i as Integer
For i = 0 To 9
  Print i
Next i

En la primera línea de código se declara la variable “i” de tipo Integer la cual será el contador de la estructura. A diferencia de otros ciclos controlados por contador el contador en una estructura For...Next “no debe” de ser inicializado antes de la estructura ya que esto se hace en el inicio del ciclo y cualquier inicialización realizada antes sería en vano.

La línea For i = 0 To 9 le dice al programa que el bucle se repetirá x cantidad de veces (en este caso 10) desde 0 hasta 9. i = 0 es el contador inicializado.

El cuerpo de la estructura indica que se imprimirá en el formulario el valor del contador en cada repetición de la estructura (en este caso se imprimirán los números del 0 al 10).

¿Que cómo funciona este rollo?

Pues el programa el llegar a la línea donde se encuentra la estructura For...Next comprueba el valor del contador de continuación de ciclo con el número de repeticiones. En caso de que el contador sea menor (en este caso: i < 9) se ejecutarán las instrucciones que se encuentran en el cuerpo de la estructura, en caso de ser mayor (en este caso: i > 9) el programa terminará el ciclo y continuará con la ejecución de las instrucciones que se encuentren a continuación del Next.

Luego de que el programa comprueba que el valor del contador es menor que el número de repeticiones y de ejecutar las instrucciones que se encuentran en el cuerpo, aumenta en 1 (o el valor de Step) el valor del contador y vuelve a realizar el mismo proceso desde el principio saliendo del ciclo en caso de contador > número_repeticiones.

Algo sobre contadores:

Un contador es una variable Integer generalmente, que generalmente se utiliza para “contar” las veces que se repite una acción determinada. En un ejemplo donde se cuente la cantidad de estudiantes que se van introduciendo en una lista si el contador lo iniciamos a 1 por ejemplo, al introducir el primer estudiante y sumarlo al contador (contador = contador + 1) el contador indicará que se han introducido 2 estudiantes (un error) cuando solo se ha introducido uno. Es decir: un contador (siempre que sea para contar) siempre debe inicializarse a cero (Cont = 0).



Artículos relacionados


No hay comentarios: